Topics about getting started or leveling up as an AIMMS developer. Datalinks, AIMMS language, building apps...
- 620 Topics
- 1,353 Replies
Some of the solvers in AIMMS, including the CP Optimizer solver for Constraint Programming problems, support not only returning a single (optimal) solution, but also a pool of feasible solutions. Read [url=https://how-to.aimms.com/Articles/139/139-Multiple-Solutions.html]here[/url]
When you solve a Mathematical Program in AIMMS, the default behavior is that AIMMS will let the solver solve the problem to (local) optimality. There might be situations where you want to stop the solve procedure after a set time period, or once a solution within a given percentage of the best value is available. This article will show you how to apply different stop criteria to a 'solve' statement in AIMMS. [url=https://how-to.aimms.com/Articles/172/172-use-stop-criteria.html]Read More...[/url]
In the simplest form solving a Mathematical Program identifier is done by using the intrinsic [b]solve[/b] statement of AIMMS: [code]solve MathProgram ; [/code] [b][img]https://clipboardjs.com/assets/images/clippy.svg[/img][/b] For the majority of the AIMMS modelers, this suffices for their needs. Whenever you want to have more advanced control over what happens, you have to start working with Generated Mathematical Programs (GMP). With GMP’s, you have full control over the constraint matrix: you can edit coefficients and add new constraints and variables. read more [url=https://how-to.aimms.com/Articles/147/147-GMP-Intro.html]here[/url]
Solvers can share information about the solution process up to a very detailed level. To avoid overhead in generating information that is not inspected anyway, the AIMMS IDE defaults to not sharing any information. [url=https://how-to.aimms.com/Articles/13/13-Solver-Logging-IDE.html]Here[/url]
How to check whether a given combination of value assignments for the variables in your model satisfy all the constraints to produce a feasible solution.
This article explains how to check whether a given combination of value assignments for the variables in your model satisfy all the constraints to produce a feasible solution. You could add an assignment constraint for each of your variables that fixes the variable to the given value and then solve the model again. If the solver returns with the status infeasible, you know that these variable values do not satisfy all constraints. [url=https://how-to.aimms.com/Articles/193/193-check-if-variables-satisfy-constraints.html]Here[/url]
This article explains how to check whether a given combination of value assignments for the variables in your model satisfy all the constraints to produce a feasible solution. You could add an assignment constraint for each of your variables that fixes the variable to the given value and then solve the model again. If the solver returns with the status infeasible, you know that these variable values do not satisfy all constraints. Click [url=https://how-to.aimms.com/Articles/193/193-check-if-variables-satisfy-constraints.html]here[/url]
The identifier types ACTIVITIES and RESOURCES, and the scheduling intrinsic functions as part of the AIMMS constraint programming component are very useful in modeling construction projects and optimizing the makespan of those projects. [url=https://how-to.aimms.com/Articles/140/140-Scheduling-Project-Planning.html]Here [/url]you can find out more.
The purpose of this example is to illustrate a few features of the AIMMS identifier types [i]ACTIVITIES[/i] and [i]RESOURCES[/i]. In the example used, we model the intuition that smaller jobs get a more narrow time window in which they are to be scheduled. In addition, the time needed between jobs, the change over time, increases with the difference in jobs. Read some more [url=https://how-to.aimms.com/Articles/142/142-Narrowing-Time-Windows.html]here[/url]
Solutions from rostering applications affect the daily life of the people rostered. Therefore, the application developers and planners iteratively improve the rostering applications and the quality of the solutions, often based on the feedback of those affected by the rosters created. The close link between the modeling language and GUI pages in AIMMS makes it easy to study the solutions and (re)formulate constraints. Read about it [url=https://how-to.aimms.com/Articles/137/137-Small-Rostering.html]here[/url].
The ROGO puzzle, [url=http://www.rogopuzzle.co.nz/]rogopuzzle[/url], challenges players to find a good path on a board, pick up treasures, and avoid pitfalls. This puzzle, and its corresponding iPhone app, were originally developed in New Zealand. In this post, I’ll explain a method for solving ROGO puzzles using constraint programming in AIMMS. Find out how to solve it [url=https://how-to.aimms.com/Articles/138/138-ROGO.html]here[/url]
Sometimes there are parts of a model that you would like to re-use in another AIMMS model. If it is a very generic component, you could choose to create an AIMMS library or an AIMMS module out of it. Please see the chapter “Organizing a Project Into Libraries” in the [url=https://documentation.aimms.com/_downloads/AIMMS_user.pdf]AIMMS The User’s Guide[/url] for more information about this. In the cases that you only want to quickly export/import a set of identifiers once, you can also use the export/import functionality in AIMMS. Also, on this blog we will provide the AIMMS code where applicable as .ams files. You can import these into your existing projects with the instructions found below. In some cases where the whole project is needed (and not only some snippets), we will provide the whole project as an a .zip file. Read it [url=https://how-to.aimms.com/Articles/145/145-import-export-section.html]here[/url]
In the context of the AIMMS environment, a library is an AIMMS project that can be included in/added to other AIMMS projects. Each library in AIMMS contains a subset of project files. You can divide a large project into smaller sub-projects, enabling multiple developers to collaborate easily by sharing parts which are relevant to the entire project. Read [url=https://how-to.aimms.com/Articles/84/84-using-libraries.html]here [/url]how to add a new libary to the current project
Sometimes it is easier to work strictly with the keyboard than to switch to the mouse. There are a number of keyboard shortcuts available in AIMMS that allow for quick access to certain features within AIMMS. Find them [url=https://how-to.aimms.com/Articles/186/186-keyboard-shortcuts-for-aimms.html]here[/url].
Find your way to solve this issue here: [list] [*][url=https://how-to.aimms.com/Articles/89/89-academic-license.html#ref-personal-nodelock]Error: This license can only be activated using a personal nodelock[/url] [*][url=https://how-to.aimms.com/Articles/89/89-academic-license.html#ref-pending-activation]Error: Pending Activation[/url] [*][url=https://how-to.aimms.com/Articles/89/89-academic-license.html#ref-ip-subnet]Error: The IP can only be activated from within a specified IP subnet[/url] [/list]
[h2]Error: Update failed - The nodelock file is readonly[/h2][h3] [/h3][h3] [/h3]You are unable to update your license because the nodelock file is read-only. How to resolve, read [url=https://how-to.aimms.com/Articles/89/89-license-nodelock-error.html]here[/url].
An AIMMS developer license can only be used on one machine at a time. There may be situations where you need to use AIMMS on a different machine, either temporarily or permanently. This article explains how to transfer an AIMMS license for use on a different computer. Click [url=https://how-to.aimms.com/Articles/195/195-transfer-developer-license.html]here[/url]
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.