Getting Fluent in OPTANO.Modeling
Let's leave the
"Hello World" examples behind and get started!
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
Various (extensive) examples for creating advanced MIPs and IPs can be found here.
- Read data from files or databases
- Learn how to work with Expressions:
- 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.
- 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.