OptiMax Component Library


OptiMax is an object-oriented Component Library, specifically designed to embed optimization models into end-user applications. The design of OptiMax is based on ActiveX/Automation component software technologies from Microsoft. OptiMax can be used to seamlessly integrate MPL models into various different programming platforms, such as VBA for Excel/Access, Visual Basic, Visual C++, Delphi, Java, and standard scripting languages for the Web.

When working with optimization models, a modeling language such as MPL, is very effective handling all the data manipulations, the matrix generation for the solver, and the solution output. After the model has been built and tested, an end-user application needs to be built using a graphical front-end to allow the end-user to edit the model data and view the results in easy-to-use manner.

Over the past decade the software industry has been moving towards building software components instead of full-blown applications. This allows each developer to concentrate on writing the software where they retain expert knowledge.

OptiMax provides the bridge between the optimization model and the end-user application. The OptiMax library is built as a hierarchy of objects that details all the knowledge that MPL contains about the model and is made available to the application developer through the object hierarchy. This enables the software developer to concentrate on building the end-user application without having to be concerned with the details of the optimization model.

OptiMax Component Library Features

OptiMax is an object library that contains very extensive set of collections, objects, methods and properties, covering all aspects of implementing optimization models in end-user applications. This includes reading and maintaining models, writing solution files, importing and exporting data, solving models, and option handling. The library as well as gives full access to all the internal data structures that MPL uses to store model information. Full cross-referenced documentation of the OptiMax Object Model is available.

  • General Model Handling

  • Input/Output Capabilites

  • Model Solving

  • Option Handling

  • Access to MPL Internal Data Structures

  • Programming with the OptiMax Library

    The OptiMax library can be used with any programming platform that is compatible with the ActiveX/Com component software technologies from Microsoft. OptiMax comes with the dual-interface and is therefore also compatible with any programming language that support the standard Automation interface.

    Following is a list of some of the languages that can be used with the OptiMax library. Please refer to the OptiMax Samples page for code examples of how to use OptiMax in these languages.

    Visual Basic

    Visual Basic from Microsoft is the programming language that is the easiest to work with when creating OptiMax applications. This is due to its high integration with Automation interfaces and easy-to-learn approach.

    Visual Basic for Applications (VBA)

    Visual Basic also comes as a standard with Microsoft Office applications, such as Excel and Access, as well as multiple other popular applications from other companies. This version of Visual Basic is called VBA or Visual Basic for Applications and due to its ready availability, is often the most convenient way to create programs using OptiMax. Most of the examples in this manual will be done using the VBA in Microsoft Excel.

    Visual C++

    When creating applications with OptiMax where speed is important or full flexibility is needed, Visual C++ is often the language of choice. It is not as quick and easy to program as Visual Basic, but still fairly straightforward to use. In most cases the standard COM interfaces for OptiMax are used when programming with Visual C++, as compared with the Automation interface which is most often used in Visual Basic.

    Visual J++

    The OptiMax library can be used from Visual J++ which is the Microsoft version of the Java language. The Microsoft SDK for Java can be downloaded from the Microsoft web site: www.microsoft.com/java.


    Another popular language that can be used with OptiMax is Delphi from Inprise/Borland. This language is based on Pascal and can be very effective to create end-user applications.

    Downloading and Installing the OptiMax Library

    The OptiMax library is available both, as a full-size version sold as an option to the MPL Modeling System and as a free student version download from Maximal Software's web page.

    If you are downloading the student version of OptiMax from the web, it is recommended to first download and install the student version of MPL. After MPL has been installed and the license activated you can go ahead and install the OptiMax library.