OPTANO.Modeling 2.0.0.286

The OPTANO Modeling library allows you to use C# as a Modeling language for mathematical optimization (mixed integer programming (MIP) and linear programming (LP)). It has a lightweight footprint and connects to several solvers.

There is a newer version of this package available.
See the version list below for details.
Install-Package OPTANO.Modeling -Version 2.0.0.286
dotnet add package OPTANO.Modeling --version 2.0.0.286
<PackageReference Include="OPTANO.Modeling" Version="2.0.0.286" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OPTANO.Modeling --version 2.0.0.286
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

http://docs.optano.com/modeling/current/changelog.html

Version 2.0.0 has been tested to comply with dotnet standard 2.0.



• Breaking Change: Removed  and replaced it with @OPTANO.Modeling.Optimization.Implication
o The reasoning behind this is that we tried to create a more intuitive API. Since a  basically was a "backwards implication", and the constructor required a @OPTANO.Modeling.Optimization.Not-constraint, the final effect was not apparent.
o The new @OPTANO.Modeling.Optimization.Implication operator clearly states which constraint will be the @OPTANO.Modeling.Optimization.Implication.Premise and which one will be the @OPTANO.Modeling.Optimization.Implication.Premise.Conclusion.
• Breaking Change: The signature of @OPTANO.Modeling.Optimization.GenericVariableCollection{T} was changed.
o The DebugNameGenerator delegate's signature was changed to (index) => string.
 Previously: (index) => StringBuilder
o Initially, we tried to enforce the usage of @System.Text.StringBuilder in order to prevent the user specifying names with long chains of string + string + ...
o With the introduction of short names, this style will not affect performance in a productive environment.
o We'd still suggest using either string.Format(), string interpolation, or expressions like 'new @System.Text.StringBuilder().Append() ... Append().ToString().
• Improvement: Better handling of BigM
o BigM is required during the transformation of @OPTANO.Modeling.Optimization.OperatorExpressions, such as @OPTANO.Modeling.Optimization.Abs to 'linear expressions'.
 User can provide an optional BigM when such a @OPTANO.Modeling.Optimization.OperatorExpression is created.
o New implementation for the automatic derivation of a BigM
 When @OPTANO.Modeling.Optimization.Variables have finite bounds, the maximum row sum is computed and used as BigM
 Only when this fails, the user-provided BigM is used.
 If user does not provide a finite BigM, an @System.InvalidOperationException is thrown.
• Improvement: Centralized name-cleansing and unified behavior among different types (Variable, Constraint, Objective, VariableCollection, @OPTANO.Modeling.Optimization.OperatorConstraint)
o Also, Constraint and Objective now use the same counter for the base64 suffixes
o This prevents duplicate name issues when exporting a model to MPS.
• Improvement: Operator '==' now creates a nicer Constraint for 'Variable x == double c'
o Old: 0 <= x - c < 0 (even if c = 0).
o New: c <= x < c
• Change: Configuration.CopySolutionToModel == true in default (was false)
• Change: @OPTANO.Modeling.Optimization.Expression.Evaluate now requires the passed values for the @OPTANO.Modeling.Optimization.Variables to be within the range of [LowerBound, @OPTANO.Modeling.Optimization.Variable.UpperBound].
• Fix: Gurobi ISV Keys have not been handled correctly
• Fix: Improved the stability of he LP- and MPS Reader/Writers. They are used for im-/export of models when a solver does not provide a native API.
• Fix: In some cases the ExpressionNormalizer threw a @System.Collections.Generic.KeyNotFoundException. Cases now are handled correctly.
• Fix: ModelTransformation
o @OPTANO.Modeling.Optimization.OperatorExpressions were not remove from the Model after they were transformed
o Some helper-constraints were not marked as helper and thus not removed from the Model even though RestoreUserModelAfterSolve was set to true.
o Normalizing all @OPTANO.Modeling.Optimization.Expressions before transforming them
 Can prevent issues while encountering @OPTANO.Modeling.Optimization.Times operators during derivation of BigM
o In a helper method BigM falsely was used, when working with a 'lower bound @OPTANO.Modeling.Optimization.Constraint'.
• Fix: @OPTANO.Modeling.Optimization.Model.RemoveConstraint now also looks for @OPTANO.Modeling.Optimization.OperatorConstraints
o Before, @OPTANO.Modeling.Optimization.OperatorConstraints could not be removed from the Model.
Please also take the changes of alpha01 und alpha02 into account, when upgrading from version 1.6.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
3.0.1.451 1,507 5/6/2019
3.0.0.450 108 4/29/2019
2.16.1.452 105 5/6/2019
2.16.0.445 130 4/25/2019
2.15.0.435 150 4/4/2019
2.14.1.430 161 2/14/2019
2.14.0.429 107 1/31/2019
2.14.0.428-pre2 186 1/14/2019
2.14.0.426-pre 173 1/14/2019
2.12.1.423 185 12/19/2018
2.12.0.415 146 12/15/2018
2.11.3.409 141 12/4/2018
2.11.2.408 211 12/3/2018
2.11.1.407 122 12/2/2018
2.11.0.403 167 11/29/2018
2.9.0.384 1,790 9/5/2018
2.8.1.343 369 5/25/2018
2.8.0.338 213 5/16/2018
2.7.0.336 322 5/2/2018
2.6.0.319 288 3/14/2018
2.5.0.312 418 1/24/2018
2.4.1.311 375 1/24/2018
2.4.0.303 621 11/15/2017
2.3.0.299 294 10/18/2017
2.2.0.291 304 9/28/2017
2.1.0.289 409 9/5/2017
2.0.0.286 317 9/3/2017
2.0.0.278-alpha02 298 8/26/2017
2.0.0.276-alpha01 275 8/20/2017
1.6.1.259 311 8/10/2017
1.6.0.252 302 8/4/2017
1.5.0.247 341 7/13/2017
1.4.0.236 372 5/8/2017
1.3.0.232 334 4/20/2017
1.2.3.222 452 3/6/2017
1.2.2.216 361 3/4/2017
1.2.1.207 407 3/3/2017
1.2.0.201 374 2/23/2017
1.1.0.191 404 1/3/2017
1.0.0.172 389 12/23/2016
0.9.1.163 364 11/23/2016
0.9.0.156 686 11/1/2016
Show less