There is a newer version of this package available.
See the version list below for details.
Install-Package OPTANO.Modeling -Version
dotnet add package OPTANO.Modeling --version
<PackageReference Include="OPTANO.Modeling" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OPTANO.Modeling --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: OPTANO.Modeling,"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install OPTANO.Modeling as a Cake Addin
#addin nuget:?package=OPTANO.Modeling&version=

// Install OPTANO.Modeling as a Cake Tool
#tool nuget:?package=OPTANO.Modeling&version=
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

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.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on OPTANO.Modeling:

Package Downloads

The Optimization.Framework allows you to use C# as a modelling language for mathematical optimization. It furthermore allows you to use solvers as services.


State of the Art Mathematical Programming Solver This package ships all files to run Gurobi with OPTANO Modeling on win64 and linux64. No additional installation required. When running on linux, please also install gurobi as usual. OPTANO.Modeling.Gurobi comes with a size-limited Gurobi license (Package OPTANO Modeling required). Please visit https://www.gurobi.com/partners/optano to obtain an unlimited license.


A F# library for creating and solving Linear Programming and Mixed Integer Programming Models


OPTANO.Modeling.GLPK provides a solver adapter that connects the GLPK ( https://www.gnu.org/software/glpk/ ) to OPTANO.Modeling ( https://www.nuget.org/packages/optano.modeling ). Copyright (C) 2020 OPTANO GmbH This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated 168 10/15/2021 184 8/27/2021 2,256 4/26/2021 409 12/10/2020 583 11/23/2020 432 11/17/2020 193 8/20/2020 949 7/16/2020 1,771 2/21/2020 315 1/16/2020 287 1/9/2020 327 1/8/2020 386 12/10/2019 4,935 5/6/2019 324 4/29/2019 148 1/13/2021 258 11/25/2020 1,224 5/6/2019 344 4/25/2019 361 4/4/2019 428 2/14/2019 383 1/31/2019 573 1/14/2019 569 1/14/2019 602 12/19/2018 407 12/15/2018 415 12/4/2018 502 12/3/2018 409 12/2/2018 464 11/29/2018 2,138 9/5/2018 694 5/25/2018 523 5/16/2018 674 5/2/2018 609 3/14/2018 753 1/24/2018 709 1/24/2018 1,159 11/15/2017 822 10/18/2017 754 9/28/2017 901 9/5/2017 963 9/3/2017 771 8/26/2017 732 8/20/2017 838 8/10/2017 768 8/4/2017 802 7/13/2017 834 5/8/2017 805 4/20/2017 942 3/6/2017 849 3/4/2017 894 3/3/2017 835 2/23/2017 882 1/3/2017 869 12/23/2016 843 11/23/2016 4,733 11/1/2016

* Breaking Change: Introduced a VariableTypeGenerator in generic and non-generic version of the Variable​Collection. The new generator replaced the old 'static' Variable​Type. It can be used to assign individual Variable​Types to Variables that are member of a Variable​Collection.

   The generator is a delegate to a function that takes an Index of a VariableCollection and returns the desired Variable​Type.
   If 'null' is passed (which is the default), we will create a generator that always returns Variable​Type.​Continuous.
   The usage is analogous to the usage of lower- and upper bound generators.
   Easiest fix of your existing code:
       Old: var collection = new Variable​Collection<T, T2, ...>(..., type: Variable​Type.​Continuous, ...)
       New: var collection = new Variable​Collection<T, T2, ...>(..., variableTypeGenerator: (idx, idx2, ...) => Variable​Type.​Continuous)

* Improvement: Added a getter for Model.VariablesRemovedDuringPreProcessing.
   Will only return values, if Model​Scope.​Compute​Removed​Variables is set to true, and the chosen Solver supports the computation.

* Improvement: Extended (and updated) User Documentation to comply with the current state of OPTANO.Modeling