Category archives: Uncategorized
There are various relations between identifiers. On the one hand, when one identifier is functionally dependent on other identifiers, a parameter definition can be used to state such a relation. On the other hand, when several identifiers are mutually dependent, a constrained optimization problem can be formulated to search for the optimal solution. However, there are also use cases whereby a small group of identifiers are mutually dependent and a simple procedure exists to update the “other” identifiers in that group when one of them changes.
A small example is an arrival/departure time dialog:
- when you know the arrival time, you can compute the necessary departure time, or
- when you know the departure time, you can compute the resulting arrival time.
In such a use case, you want to invoke a procedure to handle the modification of the value of an identifier.
A validation rule to check the mutual consistency of selected input identifiers is another use case.
Adding buttons to the application UI to handle these situations is not a proper solution; your users run the risk of pressing the wrong button, or forgetting to press it.
So how can we specify in AIMMS that the proper procedures are run upon modifying the data of selected identifiers?
This is a short blog on tweaking a WebUI line-chart widget to capture forecasting data focusing on the use of CSS for visualization tuning. My preference for visualizing forecasting data is to have the observations as separate points, and the estimates connected via lines.
A mathematical formula is considered data within an application when it is read in as a string during the application’s runtime, and subsequently used in the construction of selected assignments and constraints. The concept “Formulas as Data” can be applied to several optimization apps, for instance those that deal with “Blending on Specification” and “Asset Management.” In these types of applications, the benefit of the end-users is that they do not have to share these formulas with anyone else, including the developers of the apps. For such apps, good formulas are expensive to develop and having good formulas provides a competitive edge to these end-users. In AIMMS, formulas can be used in the following way:
- String parameters – a formula is a sequence of characters, and such sequences can be stored and manipulated via string parameters. Such manipulation is executed at AIMMS run time.
- Macros – a formula is a mathematical expression and this expression is created during AIMMS compilation time.
The two identifier types, string parameter and macro, effective at different times as far as the AIMMS system is concerned, need to be combined in order to support the concept “Formulas as Data.” How do we go about this? Continue reading »
Wednesday July 31 will be Guido’s last day at AIMMS. He will start a new challenge at one of the big consultancy firms.
Guido has been the driving force behind this AIMMS Blog. With great enthusiasm and energy, he has written the vast majority of our Blogs. Often his blogs were linked to this other ‘baby’ of Guido: the AIMMS Google Group.
Using his forum, I’d like to thank Guido for putting his knowledge, energy and wit to work to make such a success out of the AIMMS blog.
And….an open invitation to Guido to return to this forum and write a guest blog from time to time!
CEO of AIMMS
We have been working hard to point as many people to the blog as possible. Personally, I have found that for quite some questions of people on the AIMMS Google group, as well as questions from customers to our support desk, I can point already to the blog for the answer
Over the past year, we have been able to keep up with just over 1 post per week. Our goal is to keep this pace. Fortunately, there is enough of possible content since we see more and more questions coming in on the google group. Some of these questions are perfect for writing an article explaining something about AIMMS in more detail.
To stay updated with news about AIMMS (including notifications for new articles on this blog) you now have two additional possibilities:
Like the AIMMS page on Facebook:
Follow @aimms on Twitter.
Welcome to the AIMMS blog. Via this blog, we would like to update you with new features in AIMMS, as well as offer you tips and tricks on how to get the most out of AIMMS.
Although comments are enabled, please note that the main purpose of this blog is not to be a support forum. If you have questions about specific posts, you are welcome to post them as comments under the posts. In case you want to include AIMMS code in your comment, please use the following HTML tag around it:
<pre lang="aim"> Place your AIMMS code here. </pre>
Using this pre-tag will ensure your code is syntax-highlighted, which should keep it readable.
If you have generic support questions about AIMMS, we encourage you to post them on our AIMMS Google group. On this Google group, there are a number of experienced AIMMS users present who try to answer the questions that are posted.