Discuss with other experts in the field
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
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
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
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
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
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
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 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
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
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(
Dear AIMMS Team,Trust this meets you well? Kindly assist on the problem explained below and find attached the AIMMS file I am working with. I have a variable StateofCharge(t) in which t is 1 to 24. I want to place StateofCharge(t) at t = 1 or StateofCharge(01) on the conditional statement below. if ( (Charging_Power_kW(01) + SoCMin) > SoCMax) then SocMax elseCharging_Power_kW(01) + SoCMinendif;Note: Charging_Power_kW(01) is put as the value of variable Charging_Power_kW(t) at t=1 While StateofCharge(t) at t = 2,….24 should have the conditional statement below. The index t in the statement applies only from t = 2,….24. If Energy_Difference_kW(t) > 0 then if (StateofCharge(t-1) + Charging_Power_kW(t)) > SoCMax SoCMax else StateofCharge(t-1) + Charging_Power_kW(t) elseif (Energy_Difference_kW(t)) < 0 then if (StateofCharge(t-1) - SoCMin) > Discharging_Power_kW(t) else SoCMinendif; Also, if I have a parameter/variable
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
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.
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
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 (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
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?
Dear AIMMS team, Trust you are doing well. I recently installed AIMMS version 184.108.40.206 and I only found two solvers namely: CBC 2.9 and IPOPT 3.11. I tried adding more solvers to it through the solver configuration but proved abortive. How can I add the following solvers to the version.Conopt, CPLEX, Baron, CP Optimizer, Gurobi, COPT, MINOS, ODH-CPLEX, OCTERATH, PATH, KNITRO, NETSOL. I have also attached the messages I am receiving. Thank you.
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
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!
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]
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.