Recently active topics
How to Add a Logo to your AIMMS WebUI AppTutorial
If you’re an AIMMS developer building an app for end-users, you’ve probably considered adding a logo to make the app resonate with your company’s brand. This also helps you drive acceptance within your organization. This new How-to by @Chris Kuip explains:How to add a logo to you app How to tweak the logo as needed Best practices for selecting and adjusting logos.Read the tutorial and access supporting examples here: https://how-to.aimms.com/Articles/518/518-add-logo-to-webui-app.html
set and subset in the index domain
Hi community!I have a problem about a formulation and I am looking for help!I have defined a set “Input” index i, and two subsets “input1d” index id and “input1s” index is. Here is my formulation of a constraint:Identifier : MassConservation12Index domain : (i,id,is,r)Definition : sum(t, S1(i,t,r))+Stock1(i,r-1)=sum(d, Y1(id,d,r))+sum(s, uu1(is,s,r))+Stock1(i,r)+ZZ1(id,r) Should I modify the index domain in order to make clear that id and is are subsets of i? Thank you!
Product Update - Expected WebUI features in AIMMS 4.93
Dear Community, I am happy to share the exciting work we have been developing for WebUI. Further Workflow improvements: In the most recent AIMMS 4.92 release, Workflow support for sublevels and enhanced UI designs were added. We improved it further in response to the following two requests: Accessibility to a page set up as an inactive/hidden Workflow step: We acknowledge the input that it can be difficult to land on a page that is set up as a Workflow step with an Inactive/Hidden state because you are constantly redirected elsewhere. Now, when you access such a page using the Application Manager (accessible only to an App developer), you actually land on the intended page without being redirected.Access page set up for multiple Workflows: The Workflow feature was flexible enough to allow for the configuration of a page as a step in multiple Workflows. However, when you had clicked on such a Workflow step, you would have been taken to the first Workflow that had this page configured. N
Dynamically assign value
I recently got the question, how to assign a value to a given parameter; for instance the end user enters the name of a configuration parameter and its new value. This question is similar to obtaining the value of an arbitrary identifier, and runtime libraries can be used to code this generically; see https://how-to.aimms.com/Articles/146/146-value-dynamic-identifier.htmlI created a small example model, whereby three parameters can be changed by naming them in the bottom scalar widget and entering a new value as illustrated below:Demo app after entering a value for AB987.Please find the demo app attached to this post.
How to use parallel solver session in a AIMMS project
We are trying to use multiple solver session to solve a large scale problem. We have taken the case of flow shop problem given in AIMMS. We are trying to change the “Number of parallel workers = 2/3/4”, but after solving it is resetting this value to 1 after solve and the solution time is also not improving. We have used the following for delegate to serverif not ProjectDeveloperMode then if pro::DelegateToServer(timeout : 108000000,completionCallback:'pro::session::loadResultsCallBack', waitforcompletion:1) then return; endif;endif;Kindly help and let us know how to use multiple solver session for a large scale optimization problem. Thanks.
What's new in Algorithmic Capabilities?
What's new in Algorithmic Capabilities? We keep close eyes on algorithms for optimization, and do our best to bring in new solvers that can benefit AIMMS users. When a new solver arrives on the market, we have a vetting process to see how it compares to those already offered with AIMMS. Additionally, we take into consideration our users' specific needs.Read on to find out more about this process, especially as we added two new solvers last year: Octeract and COPT. Testing and evaluating Modern linear solvers can read and write MPS files which is a standard file format for presenting linear models. We have a large collection of MPS files which we use to evaluate a new solver using an automated process. This way we can test a linear solver with minimal effort -- we do not have to first create a link with AIMMS. Once we run the solver on our benchmarks of MPS files, we can compare its performance with other solvers. To evaluate a nonlinear solver we have to create a link with AIMMS first
summation over subset of an index
Hello everyone,I’m new in AIMMS and need help for my thesis. I need to implement the following constraints: 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) Thank you in advance kind regards
MILP Solver - Sparse Matrix - Paralel Computing
Hi, everyone.I am a newbie in this community.We have a research project to solve MILP with sparse matrices applying parallel computing. We would like to select the best alternative for solver to call up by our code (C++ / Python), preferably with open source code, so we could customize it. Any recommendations? WBR, Victor
Updated Traveling Salesman Example!
Hello Everyone!One more renewed example is live! Come check! The Traveling Salesman Problem (TSP) is the problem of finding the shortest route visiting all cities precisely once. Given are the distances between the cities.TSP problems are widely studied in the scientific literature because:they are notoriously difficult to solve to optimality (NP-Hard), there is a wide range of applications, and there are various approaches of solving the problem.This example is structured as follows:The page "Network" permits you define your own network.You can use the data manager (icon data manager) to save and load instances. Two cases come with this example.Distances are estimated using the Haversine formula.The page "Heuristic" illustrates three different heuristics to solve a TSP. The page "Exact" shows how a MIP can be used to solve a TSP. The page "Comparison" compare total distance and execution time for each solve.Each of the above pages comes with a HELP side-panel, explaining how to operat
RegexReplace For On-Premise PRO path
Hi Community, I am trying to use the AIMMS RegexReplace function to trim the folder path and keep the data case name. It’s working fine locally but it’s not working when testing in the server.My code looks like this: block ! Get the full path for the Active Case File _sp_ActiveCasePathName := FormatString("%s", CaseFileURL(CurrentCase)); !Check for server vs local. Local path won't likely contain the string 'PRO:/PublicDta' !example server path: PRO:/PublicData/Cases/spot_fw _bp_IndicateLocalFileName := not (RegexSearch(_sp_ActiveCasePathName, "PRO:\\\\PublicData")); ! Text example _sp_ActiveCaseName := "C:\GitHub\spot-fw\Model Folder\data\DataCase_C5AgeTest_Output.data" ! This Removes the structure !local: C:\\Location_of_File\With general\ideas-of-how\afilesnamewouldbe\ !in the server: pro:/PublicData/Cases/FW SPOT Testing/ !before the actual file name if _bp
Product Update - Expected WebUI features in AIMMS 4.92
Dear Community, I'm happy to share the exciting work we've been developing for WebUI. Improved user experience on the Table widget: To complement the recent Advanced Table Editing feature, we now provide: Improved navigation experience: Although arrow keys were already available for navigating to adjacent cells on the Table widget. We now support the following keys to provide a simple and natural Tabular data navigation experience. You can select a cell on the table widget and then apply the following keys. * The “Home” key moves the focus to the leftmost cell in the current row. * You can get focus to the first cell by pressing "Ctrl” + "Home" keys. * You can get focus to the last cell by pressing "Ctrl" + "End" keys. * By pressing "Ctrl" + "Left Arrow" keys, you can get focus onto the row’s leftmost cell. * By pressing "Ctrl" + "Right Arrow" keys, you can get focus onto the row’s rightmost cell. * By pressing "Ctrl" + "Up A
Solid Waste Logistics
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
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.