Show / Hide Table of Contents

    Getting Fluent in OPTANO.Modeling

    Let's leave the "Hello World" examples behind and get started!


    Typical Issues

    When trying to build your own (more complex) models, you might find yourself struggling with some common issues:

    • Bad Image Exception: Set your project to the right image (x86 / x64)
    • Argument Exception: Choosing the right name for your constraints
    • Out of Memory Exception: Allow "large" objects on the heap
    • MIPCL throws System.TypeInitializationException: Install/provide DLLs from Visual C++ Redistributable Packages
    • Gurobi.GRBException: 'Name too long': Limit the length of your variable, constraint and objective names
    • GLPK throws System.IO.FileNotFoundException: Make sure to add the libglpk-cli.dll to your project references.

    Advanced Models

    Various (extensive) examples for creating advanced MIPs and IPs can be found here.

    Modeling

    • Read data from files or databases
    • Learn how to work with Expressions:
      • Operator or Expression?! Fundamentals on how to build Expressions, e.g. for Constraints.
      • Expression.Sum: Add variables the right way.
      • Non-Linear Constructs: Use advanced operators, such as Min, Floor, ... whilst using LP-Solvers
    • Formulate Constraints: Restrict your solution space.
      • Logical Relations: Add constraint groups, and more.
    • Multi-Objective Optimization: Use more than one objective for an optimization problem.

    Improving Models

    • Branching: Use Branching Priorities and Directions to support branch and bound.

    Running the Model

    • Configuration: How to change default settings for your Models.
    • Variable Collections: Using Variable Collections.
    • Get solution values manually: Some statistics that help model tuning.
    • Understanding Model- and Solution-Status: Make sense of the different combinations of Status and ModelStatus.
    • Creating a deep clone of a Model

    Analyzing the Model

    • Conflicting Sets: Find conflicts in your model.
    • Remove reduced Variables: Find obsolete variables.
    • Short Names: Details about short names, and why to use them.
    • Variable Statistics: Some statistics that help model tuning.
    • Visualize Data: Visualize results in plots.

    Dirty Tricks

    • (Ab-)using the ModelScope: Using the ModelScope in non-standard ways.
    Back to top Copyright © OPTANO GmbH generated with DocFX
    Privacy Policy | Impressum – Legal Notice