Topics about getting started or leveling up as an AIMMS developer. Datalinks, AIMMS language, building apps...
- 510 Topics
- 1,114 Replies
This article explains how you can control settings for errors and warnings within AIMMS. In AIMMS, the difference between errors and warnings is summed up: [list] [*][b]Errors[/b] indicate that something is not correct. [*][b]Warnings[/b] indicate that something might not be completely correct. [/list] AIMMS has options that allow you to control almost every warning in AIMMS. These options have the following possible values: [list=1] [*]Off [*]Warning Collect [*]Common Warning Default [*]Warning Handle [*]Strict Warning Default [*]Error [/list] [url=https://how-to.aimms.com/Articles/265/265-settings-for-errors-and-warnings.html]Read more...[/url]
I'm liking the group widget in WebUI, but I'd sure like to put more than a few buttons across it. I want to have a row of buttons all the way across the top of the page, and the only way I can get the buttons to not be 2 columns wide each is to use a group. But the group cuts off any buttons that exceed about 4 columns wide! How can I get either more buttons in a group all in a row or smaller buttons that I can place individually? Thanks!
Hi, Is it possible to stop a cplex milp solver, save to disk and resume later? How to do that? Thanks! EDIT: Does this work... [list=1] [*]Start cplex milp solver and wait for incumbent solution [*]Save a case file with an incumbent solution to a case file. [*]Restart AIMMS, open model and load case file. [*]Set Advanced start -> Use advanced basis. [*]Start cplex milp solver again. [/list] Is there another method? Is this similar to just letting the solver continue? Is it possible to save and load the tree? Is that required? Thanks.
Hi, Is it possible for a callback procedure to save the newest incumbent solution to a case file. Is an example available? Edit: I already installed a callback procedure (SetCallbackNewIncumbent). How can I access the new incumbent solution from that procedure? And do I need to send the new incumbent solution to the model first, after which I can send it to a case file, or can I send it to a case file directly? Thanks! Best, WM
We have a stock that can be negative as well as positive. If it is positive then there are inventory costs and if it is negative then there are backordering costs. We wanted to model this in aimms with different methods. On the one hand we got the error that it was not linear, If we wanted to only have the stock if it is positive and otherwise return the value 0. If we tried to use other methods, such as a binary value that would return the value 0 if the stock was smaller than 0 and 1 if the stock was bigger than 0 we got the following error "The mathematical program "CostMinimization" is not linear, look for bracketed numbers in the constraint listing, for example in the constraint Inventory_definition(4,12)." How can we best model this situation, so that it is still a linear model?
Dear all, I have a constraint in AIMMS which is as follows: lambda1(q)*0+lambda2(q)*mu1+lambda3(q)*mu2+lambda4(q)= 1/T(q)*sum[k,sum[l,i(k,l,q)*min(travelTimes(k,l),tau)]]|k in LocationOnRouteQ(q) and l in LocationOnRouteQAfterK(k,q) The problem is in this part: k in LocationOnRouteQ(q) and l in LocationOnRouteQAfterK(k,q) Because I get an error that the scope of index k has not been specified. However, when I put the indices k and l in the index domain I get the error that the scope already has been specified. I want to let the k come out of the set LocationOnRouteQ(q) and l out of subset LocationOnRouteQAfterK(k,q) and I have tried many things, but none worked out. LocationOnRouteQ(q) and LocationOnRouteQAfterK(k,q) are both subsets of the set Locations and I got k and l as indices in the set Location. I hope someone can help me. Kind regards, Aimée
Installing CDM service allows multiple users to collaborate on a single AIMMS model. When developing an application using CDM, the embedded CDM server is ideal, as mistakes and restarts are easily captured by manually switching and/or clearing the database that stores the CDM data. When testing or deploying an application with multiple collaborating users, a CDM service needs to be installed that handles commits by storing the data and informing other users of these commits. [url=https://how-to.aimms.com/Articles/280/280-install-cdm-service.html]Read more...[/url]
In this article, we explain how to use the [b]asynchronous[/b] solver sessions in AIMMS to solve multiple mathematical programs simultaneously, each using its own CPU core. Why use asynchronous solves? The current engine of AIMMS does not make use of the multiple cores that exist in most modern computers. This means that even if your computer has multiple cores, AIMMS only uses one to execute your project. However, some solvers support using multiple cores. This means that if you are solving a large LP or MIP problem, a solver like CPLEX or Gurobi use multiple cores in your computer to solve your problem. [url=https://how-to.aimms.com/Articles/261/261-solve-with-asynchronous-solver-sessions.html]Read more...[/url]
The CPLEX solver has many options that influence the way CPLEX solves your model. For certain types of constraints and/or models, you can make an educated guess about which combination of options works best for your problem. However, sometimes you need more help. To help you out, CPLEX has some automatic tuning options. In AIMMS, you can access this CPLEX tuning tool via the following two functions: [code]GMP::Tuning::TuneMultipleMPS [/code] [b][img]https://clipboardjs.com/assets/images/clippy.svg[/img][/b] [code]GMP::Tuning::TuneSingleGMP [/code] [url=https://how-to.aimms.com/Articles/264/264-tune-cplex-options.html]Read more...[/url]
In this article we will compare a [b]multi[/b]-[b]objective[/b] approach to separately solving single objectives. Let’s take for an example a problem trying to find a healthy diet for a reasonable price. First let’s define our objectives: [list] [*]Minimize calories: I’m trying to lose some weight, so my healthy diet should be low in calories. [*]Minimize price: A reasonable price means that it doesn’t have to be the absolute minimum, but should be within a close range. [/list] Now, let’s use the [b]multi[/b]-[b]objective[/b] feature to solve. [url=https://how-to.aimms.com/Articles/276/276-multi-objective-approach.html]Read more...[/url]
You can use different indices to refer to the elements of the same set. Suppose we have a set, [code]Cities[/code], and a parameter, [code]Distance[/code]. We want to define [code]Distance[/code] over 2 dimensions ([code]from[/code] and [code]to[/code]) for the same set, [code]Cities[/code]. If you didn’t know that AIMMS can handle [b]multiple[/b] indices for a set, you might create two new subsets [code]CitiesFrom[/code] and [code]CitiesTo[/code], containing all elements of the set [code]Cities[/code], and each with its own index. Luckily, you can just assign [b]multiple[/b] indices to one set. [url=https://how-to.aimms.com/Articles/272/272-using-multiple-indices-for-one-set.html]Read more...[/url]
A brief overview for using AIMMS Command Line Tool. In the integrated environment, or on a Linux system, you can control an AIMMS project externally using a command line tool. To start using the command line tool open the terminal and run [code]AimmsCmd ExampleProject.aimms[/code]. [url=https://how-to.aimms.com/Articles/257/257-run-batch-commands-in-aimms-command-line-tool.html]Read more...[/url]
By default, AIMMS asks you whether you want to save changes to data when you close your project. This behavior depends on which data categories and case type are currently active. You can also use the data change [b]monitor[/b] functions to check when there are changes in a given subset of identifiers in your model since the last time you checked, based on a data category and case type. [url=https://how-to.aimms.com/Articles/250/250-monitoring-identifiers-for-changes.html]Read more...[/url]
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 model in AIMMS can be downloaded here: https://drive.google.com/open?id=1pUgymOpS0-oJLxc_IU6tjt7YEiKkHqmW[img]https://uploads-eu-west-1.insided.com/aimms-en/attachment/4a2b5b92-17a4-4f56-b7a6-8a09a8e94a42.png[/img]
Hi there, I am trying to implement some form of heuristic for the TSP where I'm decreasing the size of the model by restricting the declaration of variables X(i,j) to those combination (i,j) for which j belong to the, say, 10 cities nearest to i. Here X(i,j) is an binary variable indicating whether or not edge (i,j) is in the tour. I created a subset of the cities to find the nearest neighbors of city i, but how can I implement it in the model? Do I need to add an extra constraint or? Added you'll find the code of my AIMMS project. Thanks in advance!
Hi! I would like to ask what this error means and how I can solve this: ExcelRetrieveParameter(FINAL DATA.xlsx, nC(v,T,w), C3:ALN22, , 0) failed: The dimension of parameter "nC(v,T,w)" is 3. It must be equal to or smaller than 2. I hope anyone can help me with this. Thank you!
I'm a beginner and I know nothing about programming so Im just basing everything from the user manual. I have a parameter with a "nC' as identifier and index domain: v,t,w. The problem is when I try to save it there's an error saying "The symbol ";" is not expected." How do I fix this?
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.