Discuss with other experts in the field
Join Our Reforestation Modeling ChallengeNews
Carbon sequestration is the process of capturing and storing atmospheric carbon dioxide. It helps in the fight against climate change by trying to reduce the CO2 levels in our atmosphere. Popular techniques for carbon sequestration are reforestation and afforestation. They are both similar but slightly different: Reforestation is restoring forests on lands that were once forests but are no longer, because of deforestation for farming, commercial activities etc. Afforestation is creating forests on lands that were not previously forests. This could be repurposing land that was used for farming, or mining etc. into forest land. We at AIMMS have started a new program, AIMMS Forest, to contribute to the fight against climate change.We have partnered with One Tree Planted to support reforestation projects around the world and would like to invite you to join us by participating in this fun challenge. For every person that solves the challenge using an AIMMS model, we will plant 20 trees
Standardize link to latest version
Hi all,Every time we update our app, I get e-mails from users that they cannot enter the app and they send me a picture like the one below. We have tried to prevent this from happening by using the ‘latest’ tag option. All links in our information channels link to our app ending with the ‘/tag/latest’ such that they always end up at the right version of the app. But still I get a lot of these e-mails.Mostly this is because, once people have entered the app, they bookmark it (or store the url) and use this bookmark later on. The problem is that once they bookmark it, the url has changed to the current version name and therefore the link doesn’t consist of this latest tag anymore. And thereby causing the problem of the picture below after a new update of the app. I always reply back that they should use the link with the latest tag in there, but as we have a lot of users, this keeps happening. It would be great if there could be a solution, such that my users don’t have be annoyed by the
Errors with operators
I tried to multiply a set to a variable in my constraint, which gave the error There is no operation defined for operator "*" with the arguments of data type numeric and data type set. I need to find a solution to avoid this multiplication but come to the same result. sum[j,Stationen*Zuordnung_AufgabenStationen(i,s)]-sum[i,Stationen*Zuordnung_AufgabenStationen(j,s)]<=0
Modelling Question - if-then constraint
Dear all, I would really like to seek for your kind help regarding an if-then constraint. I found in the community a similar topic but my condition is a bit different from that, therefore I want to show my case and ask for your tips again. Specifically, I have the following variables: A: decision variable B: variable Q: variable And I want to achieve the following: 1)if A-B>=0, then Q=A-B 2)if A-B<0, then Q=0 I would like to ask if it is possible to consrtuct a linear formulation for this if-then logic to be realised. Many thanks in advance! Xubo
Subtraction of Element Valued Expressions
Hi! I have a constraint (shown at the photo below) wherein two sets need to be subtracted. I tried introducing another set Kw with a definition of k-Ks but it says subtraction of element valued expressions require the set range to be equal, but the ranges domain set "Subblock" and set "Candidate_Subblocks" differ. Identifier: Subblock Index: k Identifier: Candidate_Subblock Index: Ks Identifier: Subblock_Difference Subset of: Subblock, Candidate_Subblocks Index: Kw Definition: k-Ks above is the current code I have. Do you have any Idea on how I can code my constraint?[img]https://uploads-eu-west-1.insided.com/aimms-en/attachment/aba0c2e6-1091-4ebe-a15c-df90089e980d.png[/img]
Machine shop scheduling problem, how to introduce a binaray variable that shows if you have production?
Dear all,I'm quite new to Aimms, therefore I don’t know if my problem is easy to solve or a difficult one. My end goal is to be able to generate an automated production planning for a big pizza bakery. The machine shop scheduling example is in the direction for what I’m looking for, see the link below. https://how-to.aimms.com/Articles/473/473-ProductionPlanning-machinescheduling.htmlThe machine shop scheduling example determines the optimal machine and start time for each order, so that the makespan is minimized. I want to expand this model, so that more contraints can be added. An important binary variable for me is ‘DoYouHaveProductionInAPeriod(i,o,i_hc)’: do you have production at a certain machine i, for a spefic order o, at a certain time period i_hc. An example of a constraint that I want to add and using the variable ‘DoYouHaveProductionInAPeriod(i,o,i_hc)’ is if I have 4 workers available, only 4 machines can run at the same time → for each i_hc, sum((i,o),DoYouHaveProductionI
How to define a set as empty under a certain condition
Hi,I think it would be helpful to provide a little bit of background regarding my problem first. I’m currently working on a project where a given set of volunteers should be assigned to a given set of people in need. So basically a simple transport problem, where the demand of all people in need is 1 and the supply of all volunteers is 1. The model in AIMMS always expects a balanced problem. So in case of a surplus on either side, dummy persons will balance the problem. The data for a set containing all persons gets read from a file like this. The first half are the people in need and the second half are volunteers. The last X amount of people in need would be dummies in case of a surplus on the volunteer side. The last X amount of volunteers would be dummies in case of a surplus on the other side. The example below shows a data set that was already balanced, so without any dummies. Based on the parameters NumberInNeed and NumberVolunteers the AllNodes Set containing all persons is de
Integrated Electricity, Hydrogen and Gas Markets Modelling in AIMMS
Integrated Electricity, Hydrogen and Gas Markets Model (I-ELGAS) The future energy system will be increasingly integrated in order to absorb large fluctuations in intermittent renewables. Electricity, gas and hydrogen markets are interlinked via technologies such as water-electrolysis plants, natural gas reformers as well as natural gas and hydrogen-fired power plants. Analysis of the future interactions between energy supply and demand requires a market-based system allocation model which accounts for interactions between these markets and simultaneously represents the infrastructures in these markets. As the interactions between these markets will only increase in the future, an integrated assessment of these markets and systems is necessary. At TNO Energy Transition, AIMMS is used to model the integrated electricity, hydrogen and gas markets (I-ELGAS). The model analyzes future energy system while considering interactions and linkages between these markets. I-ELGAS model schemat
How the AIMMS SC app developers use automated testing
Recently I spoke about automated testing with my colleagues who are developing our off-the-shelf supply chain apps.How and how often do you run the automated tests?Each time we commit AIMMS code to our code repository in Gitlab, an automated pipelineruns our entire test collection. Around 15 minutes later we will know whether any tests failed as a result of the latest code changes.How many tests are in that test collection?We have unit tests and end-to-end tests. For the unit tests we use the AIMMS UnitTest library. For the end-to-end tests we are using a proprietary framework that has been developed in-house and that is being used by several AIMMS teams. For Network Design, for example, we currently have over 450 unit tests and over 400 end-to-end tests, offering us a coverage of about 85%.That is quite an investment, all those tests. What do you get in return?Oh, we get a lot in return. First of all, it makes us feel very confident when we are changing or refactoring code. We cannot
Capacity constraints in job shop scheduling
Hi all, I am creating a job shop scheduling model in AIMMS for my MSc thesis. The model plans jobs j of production orders i backwards from their due date. The main (nonnegative) decision variables are: StartTime(i,j) = the start time of production order i job j EndTime(i,j) = the end time of production order i job j The only thing I still need to add is that capacity may not be exceeded. I have the following information: Capacity(j) = total capacity of job j in one time bucket Now I need some counter / variable looking like:x(i,j,t) = the amount processed of operation i, job j in time bucket t. Where time bucket 1 = [0,1], time bucket 2 = [1,2] et cetera. See the figure below for my current data, I want to retrieve the following x(i,j,t) values: x(1,COAT,1) = 0.5 (from 0 to 0.5) x(1,PRO,1) = 0.5 (from 0.5 to 1) x(1,PRO,2) = 0.7 (from 1 to 1.7) x(1,PW,2) = 0.3 (from 1.7 to 2) x(1,PW,3) = 0.5 (from 2 to 2.5) Does someone have an idea on constraints to retrieve the values for x(i,j,t) a
Extended formulation returns infeasible
Hello everyone, I am currently working on a Supply Chain problem (LS-U-B) and I am facing some issues that I can not solve. I have a standard formulation where the objective funtion is to minimize the total costs (Inventory and Backlog). The “classical” flow constraints are: Intenvory(s-1) + Production(s) + Backlog(s) =Demand(s) + Inventory(s) + Backlog(s-1) where s is the period (from 2 to 10). Production(s) + Backlog(s) = Demand(s) + Inventory(s) where s is the period (at time t=1) The standard model is running as it should without problem. However, I have to build an extended formulation for this constraint (strenghten the formulation) and it does not work. To do so, I created a new variable Production(s,r) representing the Production done at period s for the demand period r. Consequently, the following variables are: Inventory(s) = sum[r|ord(r)<=ord(s), sum[y|ord(y)>=ord(s)+1, Production(r,y)]] Backlog(s) = sum[r|ord(r)>=ord(s)+1, sum[y|ord(y)<=ord(s), Production(
Having multiple solution with AOA
Hello,I am working with the MINLP problem which is solved by AOA in AIMMS. But I get different results whenever I run the code. Could you please tell me why this is happening? I can share my code with you if you need. Please tell me how to upload my code here?Regards
Bilinear terms in equality constraints (non-convex MIQCP) xy=z?
Hi, I have a non convex MIQCP problem, where the non convexity is illustrated in bilinear constrains like : x+yz=u where x,y,z,u are continuous variables, a general form of this topic is modeling or approaching the constraint : "xy=z" neither gurobi or cplex can handle it. I m wondering, should i use a non linear solver (like Baron)or is there a way to linearize the problem or to approach differently with gurobi or cplex ? Thnaks for your answers.
Stop in the middle of run
Hi, My model took more than 14 days to run on i7 core computer with 16GB RAM. And it still does not give an optimal solution yet. What will happen if we stop AIMMS during the middle of running a model when the solution is not optimal yet? The gap in progress window shows 38.2% for 10 days (see attached picture), then it drops to 38.1% on day-13. From what I understand, the gap is the difference between a best known solution and the best bound. If I set the gap to certain values, which part of the model will be affected? Will all the constraints be satisfied/evaluate? Or will AIMMS only satisfied half of the constraints? For your information, my objective is to maximize the preferences of the lecturer. My preferences parameter has the range values from 1 to 5, where 1 is least preferred while 5 is the most preferred. Can anyone help me? Thank you in advance! Gap on Day-12
Reading excel data
Hi, I have built my first AIMMS model and it is running without any errors now. However, it does not read my excel data and therefore I do not get any result. I was wondering what could be the problem. Do I need to save the project and the input excel sheet in the same folder? Thank you very much in advance!
New initiative: Webinar for Analytics Practitioners
New initiative! Webinar for Analytics Practitioners (WAP) Back to School For Analytics practitioners it is difficult to remain up-to-date with respect to the newest scientific developments that are relevant for practice. There are at least two reasons why this is difficult for them: There are many Analytics related scientific journals, but most of the papers are not relevant for practitioners. For practitioners it is very difficult to detect which of these papers are really relevant. This is one of the reasons why many Analytics practitioners who have an Operations Research background are not aware of the potential of, e.g., adaptive robust optimization, the modeling and solver power of conic (esp. conic quadratic and exponential cone) optimization, the optimization power for machine learning, etc. The Analytics field is multi-disciplinary with respect to its methodology. It not only consists of Operations Research methodology, but also a significant part of Statistics and A
Setting initial point (solution) for CONOPT solver
Hello,I am solving a nonlinear problem in AIMMS using CONOPT solver and I need to set the initial solution. I have read the AIMMS language reference and also surf the internet for solving this issue. But according to AIMMS website only CPLEX, GUROBI and CBC support solving with an initial solution. Could you please tell if there is any way to set the initial solution for CONOPT or any other “nonlinear” solver?
Very long execution time with BARON solver
Hello,I am solving small MINLP problem using BARON solver to find the ‘optimal’ solution. But for such a small system, 8 hours passed and I have not got the solution yet. My question is: why this solver cannot find the solution after such a long time? Is this because of the way I implemented the model? (If so, I am attaching my code here to let you know how I did it). I would appreciate it if you could help me solve this problem. Thank you!Regards
MIP Start with CPLEX
Hi, I would like to know how I can give an initial integer solution to a MIP solved with CPLEX. I found this link on the topic but I’m not convinced about the option it suggests for CPLEX in particular “Advanced basis” sounds like a setting to warm start an LP, not a MIP. I’m also not sure how to actually give my heuristic solution to CPLEX after that.https://how-to.aimms.com/Articles/108/108-kb11-mip-initial-solution.html.I also found this related question, but the link in the selected answer seems to be broken: https://community.aimms.com/developers-math-or-programming-39/how-to-start-solving-with-an-initial-solution-466.Thanks
Determine where the robot has to drive
Hello dear AIMMS Community, currently im working on a simulation of robots driving in a parking garage and charging electric vehicles.The first step is done and it is kind of working, but i have currently two major problems. even if i am not putting any demand on the parking lot the robots drive to the lot and “simulate” charging an electric vehicle. → i tried to find a solution in the community, but i was not successful. Is there any possibility, any constraint which could make the robot not to service/drive to that parking lot while Demand(i)=0. As you can see in the picture: even if i put Demand of almost every parking lot=0, the robot drives to all the places, before going back to the depot. Another problem is, that i want to make the robots drive on a specific route, shown as yellow in the picture/simulation. → Is there any chance of making the robots drive a minimum besides the yellow route? My thought is that, despite being able to create that, later in the mathimatical pr
Hi, In my model I want to minimize the (maximum_t of a function) - (minimum_t of that function) and I have solved this issue by setting: k >= function for all tp <= function for all tand adding (k-p) to the objective of my model. When I do this for one variable, it works, but: when I do this twice (for different variables and hence adding two variables to the objective) it does not work. This while these variables are not connected. Can anybody maybe help me with this? Thank you in advance!
Objective Function Problem:
Hi, the "objective function" of my program is read as a variable in AIMMS. All the parameters in the objective function already have a data read from excel. My problem is, AIMMS keeps on saying "the scope of index i has not been specified" when I try to specify the index, the program won't run because it will say that the objective function should be a free scalar variable. What should I do?[img]https://uploads-eu-west-1.insided.com/aimms-en/attachment/804dac29-31b9-4266-89c9-ed78ee2c7c4c.png[/img]
How to code Summation of (inverted A)(w)-element of-W in constraints?
Hi! We were able to execute the model already but we're having warnings that the result for this column is similar with the other column. Take for example the constraints 22 and 26? How do we code the "summation"? Sorry I'm just a beginner and I have no one to teach me and I only have a month to study everything because the deadline is just for 2 months. Our aimms model can be downloaded here: https://drive.google.com/file/d/1zcGWpj_FOGOrUKZiCdutLQ_gxANGrPI6/view?usp=sharing[url=https://drive.google.com/file/d/1zcGWpj_FOGOrUKZiCdutLQ_gxANGrPI6/view?usp=sharing]MODEL 2[/url][img]https://uploads-eu-west-1.insided.com/aimms-en/attachment/8c75db02-fdd8-439e-9545-48eae904eff5.png[/img]
Already have an account? Login
Please use your business or academic e-mail address to register
Login to the community
No account yet? Create an account
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.