Tech Blog

Tips and Tricks for AIMMS Users

Debuting a new kind of AIMMS workshop at INFORMS

AIMMS' Chris Gordon and workshop participant Juan Esteban Calle Salazar

AIMMS’ Chris Gordon and workshop participant Juan Esteban Calle Salazar

In preparation for the INFORMS Business Analytics conference in Florida, we wanted to experiment with a new approach for our regular pre-conference workshop. We wanted to engage the audience much more during the session, and do so in a fun and interactive way.

A couple of weeks prior the conference, we sat down and discussed how we could achieve this goal. Almost immediately, we considered the idea of doing a reduced version of our proof of concept (POC). The recently improved POC has proven to be a method that successfully demonstrates the value of AIMMS. It demonstrates just how quickly an AIMMS-based decision support application can be developed and deployed. Our regular POC is a two-day process that starts by defining the problem on a whiteboard with a prospect. The information shared on the whiteboard is then translated into the AIMMS modeling language. Shortly thereafter, an end user application is created on top of the model.

Continue reading »

This entry was posted in AIMMS, INFORMS, Modeling on by .

Meeting the AIMMS Team at INFORMS – My Experience as an AIMMS User

Two weeks ago, I had the pleasure of attending the 2016 INFORMS Conference on Business Analytics and Operations Research. It’s a premier gathering for the world’s analytics and OR professionals, boasting a great program with peer-to-peer discussions, demos and keynote talks. There was a lot to choose from in terms of workshops. I was hesitating between the AIMMS workshop or Gurobi’s. Thankfully Laura (AIMMS Marketing Director) persuaded me to attend AIMMS’ workshop. I met very cool people there! Their plan for the workshop was quite innovative for the type of session I am used to attending at these conferences. Here’s why I liked it so much.

Continue reading »

This entry was posted in AIMMS, INFORMS, Operations Research on by .

One quick question about AIMMS Customer Support

KPI Board in US OfficeIf you ever asked a question via support@aimms.com, you’ve probably seen a message with the title “One quick question about AIMMS Customer Support” after your issue was closed. In this message, you’re asked to rate your recent customer service experience by clicking on one of four different options. I would like to explain how we use this information in this blog post.

The number of positive (green and gold) responses (among the last 100 responses) is a Key Performance Indicator for our customer support team. This number is visible on the big KPI boards in both our European and US office. So, don’t hesitate to take a look at the board the next time that you’re in one of our offices. This information is updated in real-time, which means that this number will change directly once you send in a response. This number is not only visible inside our office, but it is also available to everyone with internet access. This picture is updated in real-time with the latest status as well:

Continue reading »

This entry was posted in AIMMS, Client support, Feedback on by .

Using AIMMS WebUI Forms to Create and Edit Data

The AIMMS WebUI is well known for its capability to create a UI for inspecting and analyzing data in a browser and for modifying existing data. However, as a model developer, you also want your users to be able to:

  • Create new data,
  • Modify existing data, and
  • Detect invalid data as soon as possible

Consider the picture below:

Continue reading »

This entry was posted in App development, Intermediate, Technical on by .

The benefits of Agile for developing AIMMS applications

As a software company with over 25 years in the industry, we’ve experienced the evolution of IT development first hand. In the past, like all software developers, we worked using the ‘waterfall’ method. In 2014, we decided to adopt Agile/SCRUM for our product development. Agile methodologies focus on user value and encourage rapid and flexible response to change as well as adaptive planning, instead of long-term planning and sequential design. We’ve seen several improvements since we adopted this approach: output has gone up a lot, transparency has increased, we get a lot more feedback on our development, the dialogue with internal stakeholders and customers has improved, and our overall sense of progress and job satisfaction has gone up.

Seeing what Agile has brought to our internal development process, I thought it would be valuable to share more about our experience in order to inspire you to consider Agile methodologies when developing AIMMS applications.

Continue reading »

This entry was posted in Agile, AIMMS, App development, SCRUM on by .

How to integrate AIMMS with Tableau

TableauAlthough both the traditional AIMMS Windows UI and the new AIMMS Web UI offer excellent data visualization capabilities to view the data present within an AIMMS application, many of our customers have expressed the wish to be able to view and work with AIMMS data in Tableau (and other BI tools such as

Data in Various AIMMS WebUI Views

Data in Various AIMMS WebUI Views

QlikView, or Spotfire). This allows a much wider audience within a company to track KPIs on dashboards based on the results from an AIMMS application, using a wider range of graphical capabilities to drill down into the data presented, and to cross analyze these results against data from various other corporate data sources.

 

Continue reading »

This entry was posted in AIMMS, Data on by .

Data Modifications Invoking Procedures

Skaters showing Newtons third law

Skaters showing Newtons third law

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?

Continue reading »

This entry was posted in Uncategorized on by .

Join our hackathon at the INFORMS Annual Meeting on October 31

b5a180f1-150831-hackathon-image-427x338As you may have heard, AIMMS and Booz Allen Hamilton have formed a partnership to accelerate Operations Research and Decision Science. Booz Allen is a leading management consulting and technology services provider and we are thrilled to work together towards this exciting task. To kick-off our partnership, we are co-sponsoring a unique hackathon experience with Southwest Airlines at the upcoming INFORMS Annual Meeting in Philadelphia.

The hackathon will tackle a real world problem presented by Southwest Airlines, encouraging students and recent grads to use advanced analytics in order to solve pressing challenges. There will be a prize, snacks, networking, coffee, t-shirts, and a lot of fun! The hackathon will take place on October 31, 2015 from 9am to 7:30pm.

Continue reading »

This entry was posted in INFORMS, Operations Research on by .

Styling elements in a table using annotations

The AIMMS WebUI pivot table displays all numbers, including zeros, always in light blue and on a white background. However, HTML allows us to style each cell in a grid individually to communicate more effectively. How can we leverage this power of communication in an easy to use manner?

Continue reading »

This entry was posted in Intermediate on by .

Tweaking the WebUI linechart widget using CSS

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.

Continue reading »

This entry was posted in Uncategorized on by .
  • Sign up

  • Recent Comments

  • Recent Posts

  • Categories

  • Archives