Implementation approaches for decision support applications 

An organization that has decided to improve its planning or its operations by leveraging operations research techniques needs to make a choice on the design and implementation of information technology to perform this task. On a generic level, one may distinguish the following basic approaches to implementing advanced decision support applications:

  • Packaged solutions deployment
  • Mathematical modeling
  • Excel spreadsheet modeling
  • Component based programming
  • Full programming

A packaged solution is as a complete or nearly complete solution provided by a vendor. Many packages provide horizontal – that is industry independent - solutions, for ERP, CRM and SCM and so on, see for instance SAP and Oracle. Other package solutions are vertical packages embedding operations research solutions geared for specific industries or business processes, such as Quintiq for planning, scheduling and supply chain optimization solutions and Alstom Grid for energy automation and information solutions.

Full programming solutions are at the other end of the spectrum, these are custom built from scratch in e.g. C++, Visual Basic, Java or Delphi with few external components. Component based programming represents a variant of the full programming solution that uses different packaged components from different vendors as well as custom code to integrate them into a solution. An example of a component vendor is ILOG, which sells specific components for decisions support and advanced planning applications.

Mathematical modeling and spreadsheet modeling can be viewed as intermediate solutions, where one maintains the flexibility of the programming approach but avoids the need for detailed programming through the use of high-level language constructs. Mathematical modeling tools, like AIMMS, are specifically designed for the modeling of classes of operations research problems such as linear programming (LP), non-linear programming (NLP), Mixed integer programming (MIP).

Selecting an implementation approach can be a challenge and may require detailed analysis of the costs and risks involved in each approach. A wrong decision can result in cost overruns, project delays, or a solution that does not fit business needs very well. It is therefore essential to make the selection criteria explicit and review the different implementation approaches against these criteria.

Selection criteria

The table below compares the different implementation approaches at a generic level in terms of the effort involved in creating and maintaining the application, the implementation period, and the flexibility to tailor the application. 

Approach Characteristics

Packaged solutions deployment Mathematical modeling

Excel spreadsheet

modeling

Component based programming Full programming

Development ease

HIGH MEDIUM MEDIUM

MEDIUM-LOW 

LOW

Customization ease

LOW HIGH HIGH MEDIUM HIGH

Maintenance ease

HIGH MEDIUM HIGH MEDIUM-LOW  LOW

Implementation speed

MEDIUM FAST FAST MEDIUM SLOW

Flexibility 

LOW HIGH HIGH MEDIUM HIGH

 

These high-level characteristics may help to assess what approach is best suited for the development and implementation of an advanced decision support application in your situation. The table below gives some indication under what circumstances these implementation approaches would provide the best solution.

Situation characteristics

Packaged solutions deployment Mathematical modeling

Excel

spreadsheet

modeling

Component based programming

Full

programming

Standard / non-standard solution
Standard solution & proven approach
Innovative solution
Innovative solution

Innovative solution based on well known solution components

Innovative solution
 
Stability of requirements
Stable requirements
Evolving requirements
Evolving req., but restricted to constant solution dimensions
Stable req.
Stable req.
Development process
Few iterations in design and implementation expected
Prototyping and incremental programming essential
Prototyping and incremental programming essential
Few iterations in design and impl. expected
Few iterations in design and impl. expected
Implement. period
Medium/long development time acceptable
Short development time required
Short development time required
Medium / long devel. time acceptable
Long devel. time acceptable
Multi/single end-user
Application shared by various end-users
Application shared by various end-users
Application used as personal productivity tool
Application shared by various end-users
Application shared by various end-users
Cost
License, customization and implementation cost are recovered through improved productivity of the supported processes and lower maintenance cost of the solution
Cost of development tool & solver licenses is recovered through low development and maintenance cost and quick time to market with a tailored business productivity tool
Low cost, but only if used as personal productivity tool.
Additional cost of third party licenses for tools or components is recovered through low devel. and maintenance cost and quick time to market
Higher development and maintenance cost to build own solution are recovered through lower cost of third party licenses
 

The selection of the most appropriate approach will require a detailed understanding of the existing practice, a clear definition of the objectives of the change process and a thorough analysis of the resource requirements, total cost of ownership and risks of the alternative solutions.

When use AIMMS?

AIMMS is unique in the sense that it offers an advanced mathematical model development tool, open interfaces to databases and various programming environments, as well as the capabilities to build an end-user graphical interface. This makes its potential usage extremely versatile. Within the framework outlined above, AIMMS can be used in each implementation approach, for example to design and build:

  • a complete standalone mathematical modeling application;
  • a prototype application to reduce the development time and cost of a full programming or a standard package implementation;
  • an extension to a standard package solution;
  • an optimization component for a full programming application;
  • an optimization component as Excel add-in.

Please contact our AIMMS Specialists when you want to have further advice on how AIMMS can be used within your organization.