Discuss with other experts in the field!
Recently active
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 together,I am a newbie in AIMMs and I need help for my thesis. t is an index for the period, here t = ( 1,2,3,…,T )How can i set the initial value from E(t=1) = Q How can I implement the E(T+1) How do i define t=1,…,T-1 Thank you in advance kind regards
Problem descriptionProblem related to the transport of urban solid waste, a linear programming problem that aims to minimize the costs of transporting solid waste, obeying municipal generation limits, landfill demand and operating costs. Model descriptionSetsLocalizacao(f) Municipio(i) Transbordo(k) URT(j) Aterro(l)ParametersDistancia1(i,k) Distancia2(i,j) Distancia3(i,l) Distancia4(k,j) Distancia5(k,l) Distancia6(j,l) GeraçãoOrigem(i) CapacidadeTransbordo(k) CapacidadeUTR(j) CapacidadeAterro(l) XCoordenadas(f) YCoordenadas(f) ConstrainsRestGeracao(i)sum(k, QuantidadeTransportada1(i,k)) + sum(j, QuantidadeTransportada2(i,j)) + sum(l, QuantidadeTransportada3(i,l)) = GeracaoOrigem(i)RestTransbordo(k)Sum(i, QuantidadeTransportada1(i,k)) <= CapacidadeTransbordo(k)REstUTR(j)sum(i, QuantidadeTransportada2(i,j)) + Sum(k, QuantidadeTransportada4(k,j)) <= CapacidadeUTR(j)RestAterro(l)sum(i, QuantidadeTransportada3(i,l)) + sum(k, QuantidadeTransportada5(k,l)) + sum(j, QuantidadeTransportad
Example:For all t, H(t) = Z(t+1) + Z(t).Z(t) is the variable. And H(t) is the parameter calculated with the adjacent elements in the variable. How can I do this?BTW, in this instance, what’s the ‘index domain’ of the parameter H, as the index t=1,2,……,24, i.e. the maximum element in Z is Z(24), if I define the ‘index domain’ of H as t directly, which means that there exists H(24) = Z(25)+Z(24), which should not be existed. Would this cause error or how can I limit the index domain of H to t = 1,2,…..,23?
Hello All!Santa (actually, I am) is late for Christmas this year. I am starting this thread in the community to discuss implementations and solutions to the Kaggle X-Mas challenge for 2022!For those of you who don’t know, Kaggle it is a site intended for promoting data science through courses and challenges. Every X-Mas they have a special optimization challenge. Last year, I also did some projects for it. You can find more information below on this years challenge in the link below:https://www.kaggle.com/competitions/santa-2022/overviewThis years challenge is to control a 7 linked robotic arm in order to paint a Christmas card.This year, I decided to implement their “Getting started with Santa 2022” workbook (https://www.kaggle.com/code/ryanholbrook/getting-started-with-santa-2022) which provide a naïve way of solving this problem.If you read the workbook you can also see the problem can be transformed to a TSP. Feel free to pickup my first implementation here:https://github.com/luisp
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
Good day all,I am one of the AIMMS beginners and would like to seek help upon my modelling project that I working on currently.The project is about “Production Planning Optimisation for a High Tech Company” where the company is producing 5 assemblies using 22 materials in the period of 30 weeks.The problem that I am facing while solving this model using AIMMS are as per below:Unable to solve the constraints 6 where at t=0, the onhand inventory must be equal to the input materials during the first week of assemble. The result shows infeasible solution as per below pictures. I had attached the information of this project for better context. Note that, the similar question/model, can be solve by using python without having any error. And I had attached the reference link below for your reference and comparison. May I know the things that I should double check when running this model ?Appreciate that I can get the respond from you. Thank you. Regards,waisheng reference link: https://medi
Hello everyone! Check out some interesting reads from the OR and optimization space that are making the rounds here... Deforestation and World Population Sustainability: A Quantitative Analysis by Mauro Bologna & Gerardo Aquino (via Nature) Global Supply Chains Face Disruption Following Russia’s Invasion of Ukraine by the London business School (via Forbes) Do You Need a Prediction or a Prescription? by Zohar Strinka (via Analytics) Feel free to share anything good you come across...especially if you or someone you know has published recently!
Good day All,I have a variable PW(t) where t is index from 1 to 24. What is the command to select the maximum and minimum value of PW(t) and also obtain its average. Thank you.
Hello,I´m pretty new to Aimms. I tried to learn to create a Gantt Chart. So I downloaded th example and copied every step in my own program.My question is where can I see the created Gantt Chart after running the program ? Thx
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
Dear All, I want to model the power of wind turbine under different wind speeds with respect to the cut-in, cut-out and rated speeds. How can this be implemented in AIMMS. Please, kindly make your response comprehensive as i am new to AIMMS. Thank you. All the terms have been declared as parameters.
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
You may have noticed an item called “Incorporating AI/ML into models” in our recent Roadmap 2022 post. As you probably inferred, that’s Artificial Intelligence and Machine Learning we have in mind. For more on this topic, see also Gertjan’s post: Now we want to hear from you about this topic as we consider the possibilities. How do you (or would you) use machine learning in an AIMMS model? We would be glad to hear your real life examples or ideas as we develop this concept. The more details about your use case, the better! First 5 commenters on this post will get 10 trees planted in their name in the AIMMS Forest! And, of course, all respondents will get our heartfelt appreciation! Even if you don’t have something to say, go ahead and click “like” to let us know you were here ;)
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
Hi All,I would like to write the following equation in my objective variable in AIMMS. I cannot manage to insert a correct notation for the max argument that works. I want to pick the v with the highest value for Zkpv, and minimize this value. My current objective (without the max argument) variable looks like this at the moment.Could somebody please help me? Kind Regards
Conference Analytics for a Better World | Amsterdam | June 1, 2022 The Amsterdam Business School and analytics and technology company ORTEC have founded the Analytics for a Better World (ABW) Institute in collaboration with Professor Dimitris Bertsimas of the Massachusetts Institute of Technology The institute will work with NGOs, governments and non-profit organizations to contribute to the Sustainable Development Goals of the United Nations such as no poverty, good health and well-being and climate action using data and analytics.» Register now» To the conference websiteConference Analytics for a Better World | Amsterdam | June 1, 2022 About the Conference Who should join? Why should you join? Participation and registration Programme (timezone CET) Register now To the conference website About the ConferenceOn June 1, 2022 (between 14:00-17:10 CET) we are organizing a launching conference to bring together our key partners, researchers and (potential) sponsors. Our aim is to in
From quite some AIMMS app developers we have heard demand for ‘enabling AI/ML’ in AIMMS or ‘Run AI/ML, extending the AIMMS platform’. We have ideas how we could indeed deliver this to you. For example:Making it easy to ‘add’ a Python script/program to your AIMMS project that can be fed with model data and from which the results can be returned to AIMMS identifiers. We can think of various ways to run such a Python script, think of Azure Function or maybe as a Docker container, etc.. Making it easy to call ready-to-use services such as ‘Azure Machine Learning’ from your AIMMS model, including the transfer of model data to and from that service.But before we make too many assumptions and start building functionality, we would like to learn more about your needs and expectations.So please tell us: How do you expect AIMMS to support you in applying Machine Learning and other AI technologies, apart from optimization, in your projects? And there is the broader topic. AIMMS has historically f
Many organizations now struggle with the task of sourcing and allocating COVID vaccines within their regions.We’ve recently published an interview with Theo Goutier of the Netherlands Municipal Health Services. Goutier, who has led Vaccine Program Operations, tells how they provided vaccinations to those who needed it most while dealing with fluctuating supply and demand, among many other complexities, and what insights they gained from the project.They used an AIMMS-based tool created by our partners at Quomare to:Compute what-if scenarios Determine the optimal number and location of vaccination stations Generate a ‘demand forecast’ for each location Balance required capacity per location, versus expected demand distribution over timeRead details of this case on our Blog: Increasing Speed and Efficiency of Vaccine Distribution During UncertaintyFollowing the success of this tool, a version of such a vaccine-planning application is now available for non-profit use through Math4Good, an
Herewith we would like provide some information on behalf of our partners from the OPTIMAL project introduced in one of our previous posts. More specifically, this post is about the OptiCL package developed by the researchers at OPTIMAL for Mixed-Integer Optimization with Constraint Learning. At AIMMS, we are exploring capabilities such as those provided by the OptiCL package and are looking forward to feedback on this matter from the AIMMS Community. We are especially interested in potential use cases and interests for conducting pilot studies in this area.The increasing availability of data has led to the rise in data-driven decision making. One area of data-driven decision making that is becoming increasingly popular is constraint learning [1]. Many real-life optimization problems contain one or more objectives and/or constraints for which there are no explicit formulae. In such cases, machine learning models, which are good at determining complex decision boundaries, can be used to
We are currently exploring opportunities for combining Optimization and Machine Learning through collaboration with the OPTIMAL consortium which carries out a large research project entitled "Optimization for and with Machine Learning".The goal of this project is to provide new analysis and tools for Optimization problems and algorithms arising in Machine Learning, but also to use insights and tools from Machine Learning in order to improve Optimization methods.For more information on the OPTIMAL project please visit the site https://optimal.uva.nlWe will try and provide updates on our exploration through more specific posts on this forum.
Gabriela Servidone, AIMMS modeling expert at UniSoma, explains why she started studying usability and how it has changed her approach to projects with customers. She also shares how she and her colleagues transitioned customers into WebUI apps, and why she is excited about using WebUI to its full potential. A lot of developers struggle with making their model easy to use for a typical end user. How did you start learning about usability concepts? I read a few books about usability. I was able to understand the main concepts, and I use them every day in my work. When you read these, at first it seems obvious. You wonder why it needs to be written. But, in your daily work you forget these simple things. For example, if you have buttons Cancel and OK, and they are in the "wrong" or unusual position. This little detail makes it really hard for your users! So, it's worthwhile to review these fundamentals and really try to follow them. And it doesn't just mean the UI. I presented recently a