OPTANO.Modeling 3.0.0.450

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 3.0.0.450
dotnet add package OPTANO.Modeling --version 3.0.0.450
<PackageReference Include="OPTANO.Modeling" Version="3.0.0.450" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OPTANO.Modeling --version 3.0.0.450
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Version 3.0.0 (2019-04-29)

  • TargetFramework is increased to .net 4.6.1 in order to provide full compatibility for .netstandard20.
    • This means that you need to update your application to .net 4.6.1 (or later), if you wish to continue using OPTANO.Modeling in version 3.0 (or later).
  • Feature: Updated Z3 Solver to version 4.8.4.
    • The Z3Solver now references the official NuGet release of Z3: https://www.nuget.org/packages/Microsoft.Z3.x64/4.8.4
  • Feature: Methods for adding variables and constraints to the Model are now
    1. Thread Safe
    2. Executed as (parallelized) batch queries.
  • Feature: Added parameter for specifying library paths that contain the required libraries/DLLs for your solver.
    • The LibraryPaths will be appended to the PATH environment variable, so that you do not need to copy the DLLs into your bin/Debug (or /Release) folders.
  • Feature: Truncating length of DebugNames to a total number of characters (this includes the appended base64-suffixes), since some solvers can only handle variable/constraint names up to that size.
    • The truncating can be activated with the Configuration.MaximumNameLength parameter.
    • This is relevant for the GurobiSolver, since it can only handle names with a total length of up to 255 characters.
      • I.e. if you encounter issues with the length of your debug-names, set the above-mentioned parameter to 255 (instead of its default value 'null').
  • Feature: Added MaximumNameLength parameter to the ModelScope for limiting the maximum (debug-) name length of Variables, Constraints and Objectives.
    • Some solvers (e.g. Gurobi) only allow variable names with a length of up to 255 characters. If a variable with a longer name is added, an Exception is thrown.
    • The MaximumNameLength limits the length of the generated UniqueLongNames by truncating the debug names (from your specified name generator), before appending the suffix, so that the total length of the name will not exceed the MaximumNameLength.
  • Improvement: Added possibility for generating a mapping of Variable ShortNames to DebugNames in the ConflictingSet. See ConflictingSet Documentation for further information.
  • Improvement: Added a method for checking if a given variable index is used within a VariableCollection: IVariableCollection.IsVariableForIndexInstanciated
    • GenericVariableCollection provides explicitly typed methods for querying with the generic "T" parameters.
  • Improvement: Added method that returns all used variable indices within a GenericVariableCollection: GenericVariableCollection.ExistingIndicesGeneric
  • Fix: Fixed an issue in MIPCL, where constraints without variables, such as "1 <= 0" were ignored by the solver.
    • Models that contain such constraints will now be declared infeasible.
  • Breaking Change: Removed support for older MIPCL versions, since only the most recent version of MIPCL can be obtained from MIPCL Download.
  • Breaking Change: Removed static ModelScope Configuration.Instance.
    • There is no technical necessity for maintaining a singleton instance of the model scope configuration.

Version 3.0.0 (2019-04-29)

  • TargetFramework is increased to .net 4.6.1 in order to provide full compatibility for .netstandard20.
    • This means that you need to update your application to .net 4.6.1 (or later), if you wish to continue using OPTANO.Modeling in version 3.0 (or later).
  • Feature: Updated Z3 Solver to version 4.8.4.
    • The Z3Solver now references the official NuGet release of Z3: https://www.nuget.org/packages/Microsoft.Z3.x64/4.8.4
  • Feature: Methods for adding variables and constraints to the Model are now
    1. Thread Safe
    2. Executed as (parallelized) batch queries.
  • Feature: Added parameter for specifying library paths that contain the required libraries/DLLs for your solver.
    • The LibraryPaths will be appended to the PATH environment variable, so that you do not need to copy the DLLs into your bin/Debug (or /Release) folders.
  • Feature: Truncating length of DebugNames to a total number of characters (this includes the appended base64-suffixes), since some solvers can only handle variable/constraint names up to that size.
    • The truncating can be activated with the Configuration.MaximumNameLength parameter.
    • This is relevant for the GurobiSolver, since it can only handle names with a total length of up to 255 characters.
      • I.e. if you encounter issues with the length of your debug-names, set the above-mentioned parameter to 255 (instead of its default value 'null').
  • Feature: Added MaximumNameLength parameter to the ModelScope for limiting the maximum (debug-) name length of Variables, Constraints and Objectives.
    • Some solvers (e.g. Gurobi) only allow variable names with a length of up to 255 characters. If a variable with a longer name is added, an Exception is thrown.
    • The MaximumNameLength limits the length of the generated UniqueLongNames by truncating the debug names (from your specified name generator), before appending the suffix, so that the total length of the name will not exceed the MaximumNameLength.
  • Improvement: Added possibility for generating a mapping of Variable ShortNames to DebugNames in the ConflictingSet. See ConflictingSet Documentation for further information.
  • Improvement: Added a method for checking if a given variable index is used within a VariableCollection: IVariableCollection.IsVariableForIndexInstanciated
    • GenericVariableCollection provides explicitly typed methods for querying with the generic "T" parameters.
  • Improvement: Added method that returns all used variable indices within a GenericVariableCollection: GenericVariableCollection.ExistingIndicesGeneric
  • Fix: Fixed an issue in MIPCL, where constraints without variables, such as "1 <= 0" were ignored by the solver.
    • Models that contain such constraints will now be declared infeasible.
  • Breaking Change: Removed support for older MIPCL versions, since only the most recent version of MIPCL can be obtained from MIPCL Download.
  • Breaking Change: Removed static ModelScope Configuration.Instance.
    • There is no technical necessity for maintaining a singleton instance of the model scope configuration.

Release Notes

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

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
3.0.1.451 1,504 5/6/2019
3.0.0.450 108 4/29/2019
2.16.1.452 104 5/6/2019
2.16.0.445 130 4/25/2019
2.15.0.435 150 4/4/2019
2.14.1.430 160 2/14/2019
2.14.0.429 106 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 184 12/19/2018
2.12.0.415 146 12/15/2018
2.11.3.409 140 12/4/2018
2.11.2.408 210 12/3/2018
2.11.1.407 122 12/2/2018
2.11.0.403 166 11/29/2018
2.9.0.384 1,789 9/5/2018
2.8.1.343 368 5/25/2018
2.8.0.338 212 5/16/2018
2.7.0.336 322 5/2/2018
2.6.0.319 287 3/14/2018
2.5.0.312 417 1/24/2018
2.4.1.311 375 1/24/2018
2.4.0.303 619 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 310 8/10/2017
1.6.0.252 301 8/4/2017
1.5.0.247 341 7/13/2017
1.4.0.236 372 5/8/2017
1.3.0.232 333 4/20/2017
1.2.3.222 452 3/6/2017
1.2.2.216 361 3/4/2017
1.2.1.207 406 3/3/2017
1.2.0.201 373 2/23/2017
1.1.0.191 403 1/3/2017
1.0.0.172 388 12/23/2016
0.9.1.163 364 11/23/2016
0.9.0.156 685 11/1/2016