diff --git a/CaseStudies/a_blending_problem.html b/CaseStudies/a_blending_problem.html index d94b54fd..64559d88 100644 --- a/CaseStudies/a_blending_problem.html +++ b/CaseStudies/a_blending_problem.html @@ -101,7 +101,7 @@
-

A Blending Problem

+

A Blending Problem

Problem Description

../_images/whiskas_label.jpg diff --git a/_sources/CaseStudies/a_blending_problem.rst.txt b/_sources/CaseStudies/a_blending_problem.rst.txt index 9b4371e4..5d526757 100644 --- a/_sources/CaseStudies/a_blending_problem.rst.txt +++ b/_sources/CaseStudies/a_blending_problem.rst.txt @@ -1,3 +1,5 @@ +.. _blending_problem: + A Blending Problem =================== diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt index abeb2e4d..50156bd8 100644 --- a/_sources/index.rst.txt +++ b/_sources/index.rst.txt @@ -6,14 +6,21 @@ Optimization with PuLP ---------------------- -You can begin learning Python and using PuLP -by looking at the content below. We recommend that you read The Optimisation Process, -Optimisation Concepts, and the Introduction to Python -before beginning the case-studies. For instructions for the installation of PuLP -see :ref:`installation`. - -The full PuLP function documentation is available, and useful functions -will be explained in the case studies. +PuLP is an linear and mixed integer programming modeler written in Python. + +With PuLP, it is simple to create MILP optimisation problems and solve them with the +latest open-source (or proprietary) solvers. PuLP can generate MPS or LP files and +call solvers such as GLPK_, COIN-OR CLP/`CBC`_, CPLEX_, GUROBI_, MOSEK_, XPRESS_, +CHOCO_, MIPCL_, HiGHS_, SCIP_/FSCIP_. + +Here are some ways to get started using PuLP: + +* for instructions about installing PuLP see :ref:`installation`. +* If you're new to Python and optimisation we recommend that you read :ref:`optimisation_concepts`, :ref:`optimisation_process`, and the :ref:`getting_started_with_python`. +* If you want to jump right in then start reading the case studies starting with :ref:`blending_problem`. + +The full PuLP API documentation is available, and useful functions +are also explained in the case studies. The case studies are in order, so the later case studies will assume you have (at least) read the earlier case studies. However, we will provide links to any relevant information you will need. @@ -34,3 +41,16 @@ Authors The authors of this documentation (the pulp documentation team) include: .. include:: AUTHORS.txt + + +.. _GLPK: http://www.gnu.org/software/glpk/glpk.html +.. _CBC: https://github.com/coin-or/Cbc +.. _CPLEX: http://www.cplex.com/ +.. _GUROBI: http://www.gurobi.com/ +.. _MOSEK: https://www.mosek.com/ +.. _XPRESS: https://www.fico.com/es/products/fico-xpress-solver +.. _CHOCO: https://choco-solver.org/ +.. _MIPCL: http://mipcl-cpp.appspot.com/ +.. _SCIP: https://www.scipopt.org/ +.. _HiGHS: https://highs.dev +.. _FSCIP: https://ug.zib.de diff --git a/_sources/main/basic_python_coding.rst.txt b/_sources/main/basic_python_coding.rst.txt index 0b0f6cdf..35ea9597 100644 --- a/_sources/main/basic_python_coding.rst.txt +++ b/_sources/main/basic_python_coding.rst.txt @@ -1,3 +1,6 @@ +.. _getting_started_with_python: + + Basic Python Coding =================== diff --git a/_sources/main/optimisation_concepts.rst.txt b/_sources/main/optimisation_concepts.rst.txt index d7416612..5841d855 100644 --- a/_sources/main/optimisation_concepts.rst.txt +++ b/_sources/main/optimisation_concepts.rst.txt @@ -1,3 +1,5 @@ +.. _optimisation_concepts: + Optimisation Concepts ===================== diff --git a/_sources/main/the_optimisation_process.rst.txt b/_sources/main/the_optimisation_process.rst.txt index 67098ff9..a07df8d9 100644 --- a/_sources/main/the_optimisation_process.rst.txt +++ b/_sources/main/the_optimisation_process.rst.txt @@ -1,3 +1,6 @@ +.. _optimisation_process: + + The Optimisation Process ======================== diff --git a/_static/searchtools.js b/_static/searchtools.js index 92da3f8b..b08d58c9 100644 --- a/_static/searchtools.js +++ b/_static/searchtools.js @@ -178,7 +178,7 @@ const Search = { htmlToText: (htmlString, anchor) => { const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - for (const removalQuery of [".headerlinks", "script", "style"]) { + for (const removalQuery of [".headerlink", "script", "style"]) { htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); } if (anchor) { @@ -328,13 +328,14 @@ const Search = { for (const [title, foundTitles] of Object.entries(allTitles)) { if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { for (const [file, id] of foundTitles) { - let score = Math.round(100 * queryLower.length / title.length) + const score = Math.round(Scorer.title * queryLower.length / title.length); + const boost = titles[file] === title ? 1 : 0; // add a boost for document titles normalResults.push([ docNames[file], titles[file] !== title ? `${titles[file]} > ${title}` : title, id !== null ? "#" + id : "", null, - score, + score + boost, filenames[file], ]); } diff --git a/index.html b/index.html index bc4efc5d..15db473e 100644 --- a/index.html +++ b/index.html @@ -82,13 +82,19 @@

Optimization with PuLP

-

You can begin learning Python and using PuLP -by looking at the content below. We recommend that you read The Optimisation Process, -Optimisation Concepts, and the Introduction to Python -before beginning the case-studies. For instructions for the installation of PuLP -see Installing PuLP at Home.

-

The full PuLP function documentation is available, and useful functions -will be explained in the case studies. +

PuLP is an linear and mixed integer programming modeler written in Python.

+

With PuLP, it is simple to create MILP optimisation problems and solve them with the +latest open-source (or proprietary) solvers. PuLP can generate MPS or LP files and +call solvers such as GLPK, COIN-OR CLP/CBC, CPLEX, GUROBI, MOSEK, XPRESS, +CHOCO, MIPCL, HiGHS, SCIP/FSCIP.

+

Here are some ways to get started using PuLP:

+ +

The full PuLP API documentation is available, and useful functions +are also explained in the case studies. The case studies are in order, so the later case studies will assume you have (at least) read the earlier case studies. However, we will provide links to any relevant information you will need.

diff --git a/main/basic_python_coding.html b/main/basic_python_coding.html index 39aac17a..a2305365 100644 --- a/main/basic_python_coding.html +++ b/main/basic_python_coding.html @@ -113,7 +113,7 @@
-

Basic Python Coding

+

Basic Python Coding

In this course you will learn basic programming in Python, but there is also excellent Python Language reference material available on the internet freely. You can download the book Dive Into Python diff --git a/main/includeme.html b/main/includeme.html index feb447e7..f3f1037e 100644 --- a/main/includeme.html +++ b/main/includeme.html @@ -56,11 +56,18 @@

  • Amply
  • README @@ -102,61 +109,46 @@

    pulp< https://travis-ci.org/coin-or/pulp.svg?branch=master PyPI PyPI - Downloads -

    PuLP is an LP modeler written in Python. PuLP can generate MPS or LP files and call GLPK, COIN-OR CLP/CBC, CPLEX, GUROBI, MOSEK, XPRESS, CHOCO, MIPCL, HiGHS, SCIP/FSCIP to solve linear problems.

    +

    PuLP is an linear and mixed integer programming modeler written in Python. With PuLP, it is simple to create MILP optimisation problems and solve them with the latest open-source (or proprietary) solvers. PuLP can generate MPS or LP files and call solvers such as GLPK, COIN-OR CLP/CBC, CPLEX, GUROBI, MOSEK, XPRESS, CHOCO, MIPCL, HiGHS, SCIP/FSCIP.

    +

    The documentation for PuLP can be found here.

    +

    PuLP is part of the COIN-OR project.

    Installation

    -

    The easiest way to install pulp is via PyPi

    -

    If pip is available on your system:

    +

    PuLP requires Python 3.7 or newer.

    +

    The easiest way to install PuLP is with pip. If pip is available on your system, type:

    python -m pip install pulp
     
    -

    Otherwise follow the download instructions on the PyPi page.

    -

    If you want to install the latest version from github you can run the following:

    -
    python -m pip install -U git+https://github.com/coin-or/pulp
    -
    -
    -

    On Linux and OSX systems the tests must be run to make the default -solver executable.

    -
    sudo pulptest
    -
    -
    -
    -
    -

    Examples

    -

    See the examples directory for examples.

    -

    PuLP requires Python 3.7 or newer.

    -

    The examples use the default solver (CBC). To use other solvers they must be available (installed and accessible). For more information on how to do that, see the guide on configuring solvers.

    +

    Otherwise follow the download instructions on the PyPi page.

    -
    -

    Documentation

    -

    Documentation is found on https://coin-or.github.io/pulp/.

    -

    Use LpVariable() to create new variables. To create a variable 0 <= x <= 3:

    -
    x = LpVariable("x", 0, 3)
    +
    +

    Quickstart

    +

    Use LpVariable to create new variables. To create a variable x with 0 ≤ x ≤ 3:

    +
    from pulp import *
    +x = LpVariable("x", 0, 3)
     
    -

    To create a variable 0 <= y <= 1:

    -
    y = LpVariable("y", 0, 1)
    +

    To create a binary variable, y, with values either 0 or 1:

    +
    y = LpVariable("y", cat="Binary")
     
    -

    Use LpProblem() to create new problems. Create “myProblem”:

    +

    Use LpProblem to create new problems. Create a problem called “myProblem” like so:

    prob = LpProblem("myProblem", LpMinimize)
     
    -

    Combine variables to create expressions and constraints, then add them to the -problem:

    +

    Combine variables in order to create expressions and constraints, and then add them to the problem.:

    prob += x + y <= 2
     
    -

    If you add an expression (not a constraint), it will -become the objective:

    +

    An expression is a constraint without a right-hand side (RHS) sense (one of =, <= or >=). If you add an expression to a problem, it will become the objective:

    prob += -4*x + y
     
    -

    To solve with the default included solver:

    +

    To solve the problem with the default included solver:

    status = prob.solve()
     
    -

    To use another sovler to solve the problem:

    +

    If you want to try another solver to solve the problem:

    status = prob.solve(GLPK(msg = 0))
     
    @@ -165,28 +157,48 @@

    Documentation> 'Optimal'

    -

    You can get the value of the variables using value(). ex:

    +

    You can get the value of the variables using value. ex:

    value(x)
     > 2.0
     
    -

    Exported Classes:

    +
    +

    Essential Classes

      -
    • LpProblem – Container class for a Linear programming problem

    • -
    • LpVariable – Variables that are added to constraints in the LP

    • -
    • LpConstraint – A constraint of the general form

      +
    • LpProblem – Container class for a Linear or Integer programming problem

    • +
    • LpVariable – Variables that are added into constraints in the LP problem

    • +
    • LpConstraint – Constraints of the general form

      -

      a1x1+a2x2 …anxn (<=, =, >=) b

      +

      a1x1 + a2x2 + … + anxn (<=, =, >=) b

    • -
    • LpConstraintVar – Used to construct a column of the model in column-wise modelling

    • +
    • LpConstraintVar – A special type of constraint for constructing column of the model in column-wise modelling

    -

    Exported Functions:

    +
    +
    +

    Useful Functions

    • value() – Finds the value of a variable or expression

    • -
    • lpSum() – given a list of the form [a1*x1, a2x2, …, anxn] will construct a linear expression to be used as a constraint or variable

    • -
    • lpDot() –given two lists of the form [a1, a2, …, an] and [ x1, x2, …, xn] will construct a linear expression to be used as a constraint or variable

    • +
    • lpSum() – Given a list of the form [a1*x1, a2*x2, …, an*xn] will construct a linear expression to be used as a constraint or variable

    • +
    • lpDot() – Given two lists of the form [a1, a2, …, an] and [x1, x2, …, xn] will construct a linear expression to be used as a constraint or variable

    +
    +
    +
    +

    More Examples

    +

    Several tutorial are given in documentation and pure code examples are available in examples/ directory .

    +

    The examples use the default solver (CBC). To use other solvers they must be available (installed and accessible). For more information on how to do that, see the guide on configuring solvers.

    +
    +
    +

    For Developers

    +

    If you want to install the latest version from GitHub you can run:

    +
    python -m pip install -U git+https://github.com/coin-or/pulp
    +
    +
    +

    On Linux and MacOS systems, you must run the tests to make the default solver executable:

    +
    sudo pulptest
    +
    +

    Building the documentation

    The PuLP documentation is built with Sphinx. We recommended using a @@ -200,19 +212,26 @@

    Building the documentationbuild/ directory. The home page for the documentation is doc/build/html/index.html which can be opened in a browser.

    -

    Comments, bug reports, patches and suggestions are welcome.

    -
      +

    +
    +

    Contributing to PuLP

    +

    Instructions for making your first contribution to PuLP are given here.

    +

    Comments, bug reports, patches and suggestions are very welcome!

    + +
    +
    +

  • - -
    diff --git a/main/index.html b/main/index.html index ccc606d9..b076a297 100644 --- a/main/index.html +++ b/main/index.html @@ -116,8 +116,10 @@

    Main TopicsAmply
  • README
  • diff --git a/main/optimisation_concepts.html b/main/optimisation_concepts.html index 1ebb1c81..d92c5298 100644 --- a/main/optimisation_concepts.html +++ b/main/optimisation_concepts.html @@ -95,7 +95,7 @@
    -

    Optimisation Concepts

    +

    Optimisation Concepts

    Linear Programing

    The simplest type of mathematical program is a linear program. For your diff --git a/main/the_optimisation_process.html b/main/the_optimisation_process.html index 202cf6db..b49f1aab 100644 --- a/main/the_optimisation_process.html +++ b/main/the_optimisation_process.html @@ -100,7 +100,7 @@

    -

    The Optimisation Process

    +

    The Optimisation Process

    Solving an optimisation problem is not a linear process, but the process can be broken down into five general steps:

      diff --git a/objects.inv b/objects.inv index 21135c2e..0222d50d 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/searchindex.js b/searchindex.js index 230a442d..0de60030 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"A Blending Problem": [[0, "a-blending-problem"]], "A Set Partitioning Problem": [[1, "a-set-partitioning-problem"]], "A Sudoku Problem formulated as an LP": [[2, "a-sudoku-problem-formulated-as-an-lp"]], "A Transportation Problem": [[3, "a-transportation-problem"]], "A Two Stage Production Planning Problem": [[4, "a-two-stage-production-planning-problem"]], "Activating MIP start": [[13, "activating-mip-start"]], "Additional environment variables per solver": [[9, "additional-environment-variables-per-solver"]], "Amply": [[16, "amply"]], "Applying the black linter / formatter": [[7, "applying-the-black-linter-formatter"]], "Array types in python": [[17, "array-types-in-python"]], "Authors": [[15, "authors"]], "Basic Python Coding": [[17, "basic-python-coding"]], "Building the documentation": [[7, "building-the-documentation"], [18, "building-the-documentation"]], "CPLEX": [[9, "cplex"]], "Case Studies": [[5, "case-studies"]], "Caveats with json and pandas / numpy data types": [[12, "caveats-with-json-and-pandas-numpy-data-types"]], "Checking which solvers PuLP has access to": [[9, "checking-which-solvers-pulp-has-access-to"]], "Classes": [[17, "classes"]], "Cloning the project": [[7, "cloning-the-project"]], "Combinations and Permutations": [[30, "combinations-and-permutations"]], "Commenting in Python": [[17, "commenting-in-python"]], "Configuring the path to the solver": [[9, "configuring-the-path-to-the-solver"]], "Configuring where the CMD solvers write their temporary files": [[9, "configuring-where-the-cmd-solvers-write-their-temporary-files"]], "Considerations": [[12, "considerations"]], "Constraints": [[30, "constraints"]], "Creating a test": [[7, "creating-a-test"]], "Developer Guides": [[8, "developer-guides"]], "Dictionaries": [[17, "dictionaries"]], "Documentation": [[18, "documentation"]], "Elastic Constraints": [[11, "elastic-constraints"]], "Error while trying to execute cbc.exe": [[10, "error-while-trying-to-execute-cbc-exe"]], "Example": [[6, "example"]], "Example 1: json": [[12, "example-1-json"]], "Example 1: mps": [[12, "example-1-mps"]], "Example 2: json": [[12, "example-2-json"]], "Example problem": [[13, "example-problem"]], "Examples": [[18, "examples"]], "Extensions": [[3, "extensions"]], "Extra for Experts": [[2, "extra-for-experts"]], "Extra: adding a official solver API": [[6, "extra-adding-a-official-solver-api"]], "Filling a variable with a value": [[13, "filling-a-variable-with-a-value"]], "Fixing a variable": [[13, "fixing-a-variable"]], "Forking PuLP": [[7, "forking-pulp"]], "Formulate the Constraints": [[2, "formulate-the-constraints"], [3, "formulate-the-constraints"]], "Formulate the Objective Function": [[0, "formulate-the-objective-function"], [2, "formulate-the-objective-function"], [3, "formulate-the-objective-function"]], "Formulating the mathematical program": [[22, "formulating-the-mathematical-program"]], "Formulation": [[2, "formulation"], [3, "formulation"]], "Full Formulation": [[0, "full-formulation"]], "Functions": [[17, "functions"]], "GUROBI": [[9, "gurobi"]], "Getting the Problem Description": [[22, "getting-the-problem-description"]], "Giving feedback and asking for help": [[10, "giving-feedback-and-asking-for-help"]], "Grouping variables": [[12, "grouping-variables"]], "How to add a new solver to PuLP": [[6, "how-to-add-a-new-solver-to-pulp"]], "How to configure a solver in PuLP": [[9, "how-to-configure-a-solver-in-pulp"]], "How to contribute to PuLP": [[7, "how-to-contribute-to-pulp"]], "How to debug most errors during solving": [[10, "how-to-debug-most-errors-during-solving"]], "How to import and export models in PuLP": [[12, "how-to-import-and-export-models-in-pulp"]], "How to warm-start a solver": [[13, "how-to-warm-start-a-solver"]], "Identify the Decision Variables": [[0, "identify-the-decision-variables"], [2, "identify-the-decision-variables"], [3, "identify-the-decision-variables"]], "Import Statement": [[17, "import-statement"]], "Importing and exporting a solver": [[9, "importing-and-exporting-a-solver"]], "Including the solver in tests suite": [[6, "including-the-solver-in-tests-suite"]], "Infeasible problems": [[10, "infeasible-problems"]], "Inheriting base classes": [[6, "inheriting-base-classes"]], "Installation": [[18, "installation"], [20, "id1"]], "Installing CPLEX_PY": [[9, "installing-cplex-py"]], "Installing GUROBI": [[9, "installing-gurobi"]], "Installing PuLP at Home": [[20, "installing-pulp-at-home"]], "Installing from source": [[7, "installing-from-source"]], "Integer Programing": [[21, "integer-programing"]], "Jupyter notebooks / anaconda / conda issues": [[10, "jupyter-notebooks-anaconda-conda-issues"]], "Linear Programing": [[21, "linear-programing"]], "Linux Installation": [[20, "linux-installation"]], "List Comprehensions": [[17, "list-comprehensions"]], "List/Tuple/Dictionary Syntax Note": [[17, "list-tuple-dictionary-syntax-note"]], "Lists": [[17, "lists"]], "Loops in Python": [[17, "loops-in-python"]], "Main Topics": [[19, "main-topics"]], "Making a Pull Request": [[7, "making-a-pull-request"]], "Making the solver available to PuLP": [[6, "making-the-solver-available-to-pulp"]], "Ongoing Monitoring": [[3, "ongoing-monitoring"]], "Optimisation Concepts": [[21, "optimisation-concepts"]], "Optimization with PuLP": [[15, "optimization-with-pulp"]], "Other important language features": [[17, "other-important-language-features"]], "Performing some post-optimal analysis": [[22, "performing-some-post-optimal-analysis"]], "Pip and pypi installation": [[20, "pip-and-pypi-installation"]], "Plugins": [[24, "plugins"]], "Presentation of Solution and Analysis": [[3, "presentation-of-solution-and-analysis"]], "Presenting the solution and analysis": [[22, "presenting-the-solution-and-analysis"]], "Problem Description": [[0, "problem-description"], [2, "problem-description"], [3, "problem-description"]], "PuLP Internal Documentation": [[29, "pulp-internal-documentation"]], "PuLP Model": [[3, "pulp-model"]], "PuLP_LPARRAY: PuLP x NumPy, a match made in heaven": [[25, "pulp-lparray-pulp-x-numpy-a-match-made-in-heaven"]], "Running tests": [[7, "running-tests"]], "Simplified Formulation": [[0, "simplified-formulation"]], "Solution": [[2, "solution"]], "Solution to Full Problem": [[0, "solution-to-full-problem"]], "Solution to Simplified Problem": [[0, "solution-to-simplified-problem"]], "Solving the mathematical program": [[22, "solving-the-mathematical-program"]], "Storage and \u201cBuying In\u201d": [[3, "storage-and-buying-in"]], "Supported solver APIs": [[13, "supported-solver-apis"]], "Testing your PuLP installation": [[20, "testing-your-pulp-installation"]], "The Constraints": [[0, "the-constraints"]], "The LpProblem Class": [[30, "the-lpproblem-class"]], "The Modeling Process": [[22, "the-modeling-process"]], "The Optimisation Process": [[22, "the-optimisation-process"]], "The if statement": [[17, "the-if-statement"]], "Todo": [[30, "id1"]], "Tuples": [[17, "tuples"]], "Types of PuLP integrations (API) to solvers": [[9, "types-of-pulp-integrations-api-to-solvers"]], "User Guides": [[14, "user-guides"]], "Using solver-specific functionality": [[9, "using-solver-specific-functionality"]], "Using the official solver API": [[9, "using-the-official-solver-api"]], "Validation": [[3, "validation"]], "Variables and Expressions": [[30, "variables-and-expressions"]], "What is an environment variable": [[9, "what-is-an-environment-variable"]], "Whole Example": [[13, "whole-example"]], "Windows installation from source": [[20, "windows-installation-from-source"]], "actualSolve method": [[6, "actualsolve-method"]], "amply: AMPL data manipulation": [[23, "amply-ampl-data-manipulation"]], "available method": [[6, "available-method"]], "defaultPath method": [[6, "defaultpath-method"]], "for Loop": [[17, "for-loop"]], "orloge: OR logs parser": [[26, "orloge-or-logs-parser"]], "pulp": [[18, "pulp"]], "pulp.apis Interface to Solvers": [[31, "module-pulp.apis"]], "pulp.constants": [[28, "module-pulp.constants"]], "pulp: Pulp classes": [[30, "module-pulp"]], "pytups: smart dictionaries and tuple lists": [[27, "pytups-smart-dictionaries-and-tuple-lists"]], "while Loop": [[17, "while-loop"]]}, "docnames": ["CaseStudies/a_blending_problem", "CaseStudies/a_set_partitioning_problem", "CaseStudies/a_sudoku_problem", "CaseStudies/a_transportation_problem", "CaseStudies/a_two_stage_production_planning_problem", "CaseStudies/index", "develop/add_solver", "develop/contribute", "develop/index", "guides/how_to_configure_solvers", "guides/how_to_debug", "guides/how_to_elastic_constraints", "guides/how_to_export_models", "guides/how_to_mip_start", "guides/index", "index", "main/amply", "main/basic_python_coding", "main/includeme", "main/index", "main/installing_pulp_at_home", "main/optimisation_concepts", "main/the_optimisation_process", "plugins/amply", "plugins/index", "plugins/lparray", "plugins/orloge", "plugins/pytups", "technical/constants", "technical/index", "technical/pulp", "technical/solvers"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["CaseStudies/a_blending_problem.rst", "CaseStudies/a_set_partitioning_problem.rst", "CaseStudies/a_sudoku_problem.rst", "CaseStudies/a_transportation_problem.rst", "CaseStudies/a_two_stage_production_planning_problem.rst", "CaseStudies/index.rst", "develop/add_solver.rst", "develop/contribute.rst", "develop/index.rst", "guides/how_to_configure_solvers.rst", "guides/how_to_debug.rst", "guides/how_to_elastic_constraints.rst", "guides/how_to_export_models.rst", "guides/how_to_mip_start.rst", "guides/index.rst", "index.rst", "main/amply.rst", "main/basic_python_coding.rst", "main/includeme.rst", "main/index.rst", "main/installing_pulp_at_home.rst", "main/optimisation_concepts.rst", "main/the_optimisation_process.rst", "plugins/amply.rst", "plugins/index.rst", "plugins/lparray.rst", "plugins/orloge.rst", "plugins/pytups.rst", "technical/constants.rst", "technical/index.rst", "technical/pulp.rst", "technical/solvers.rst"], "indexentries": {"actualresolve() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.actualResolve", false]], "actualresolve() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.actualResolve", false]], "actualsolve() (pulp.apis.choco_cmd method)": [[31, "pulp.apis.CHOCO_CMD.actualSolve", false]], "actualsolve() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.actualSolve", false]], "actualsolve() (pulp.apis.coinmp_dll method)": [[31, "pulp.apis.COINMP_DLL.actualSolve", false]], "actualsolve() (pulp.apis.copt method)": [[31, "pulp.apis.COPT.actualSolve", false]], "actualsolve() (pulp.apis.copt_cmd method)": [[31, "pulp.apis.COPT_CMD.actualSolve", false]], "actualsolve() (pulp.apis.copt_dll method)": [[31, "pulp.apis.COPT_DLL.actualSolve", false]], "actualsolve() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.actualSolve", false]], "actualsolve() (pulp.apis.cplex_py method)": [[31, "pulp.apis.CPLEX_PY.actualSolve", false]], "actualsolve() (pulp.apis.fscip_cmd method)": [[31, "pulp.apis.FSCIP_CMD.actualSolve", false]], "actualsolve() (pulp.apis.glpk_cmd method)": [[31, "pulp.apis.GLPK_CMD.actualSolve", false]], "actualsolve() (pulp.apis.gurobi method)": [[31, "pulp.apis.GUROBI.actualSolve", false]], "actualsolve() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.actualSolve", false]], "actualsolve() (pulp.apis.highs method)": [[31, "pulp.apis.HiGHS.actualSolve", false]], "actualsolve() (pulp.apis.highs_cmd method)": [[31, "pulp.apis.HiGHS_CMD.actualSolve", false]], "actualsolve() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.actualSolve", false]], "actualsolve() (pulp.apis.mipcl_cmd method)": [[31, "pulp.apis.MIPCL_CMD.actualSolve", false]], "actualsolve() (pulp.apis.mosek method)": [[31, "pulp.apis.MOSEK.actualSolve", false]], "actualsolve() (pulp.apis.pyglpk method)": [[31, "pulp.apis.PYGLPK.actualSolve", false]], "actualsolve() (pulp.apis.scip_cmd method)": [[31, "pulp.apis.SCIP_CMD.actualSolve", false]], "actualsolve() (pulp.apis.scip_py method)": [[31, "pulp.apis.SCIP_PY.actualSolve", false]], "actualsolve() (pulp.apis.xpress method)": [[31, "pulp.apis.XPRESS.actualSolve", false]], "actualsolve() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.actualSolve", false]], "actualsolve() (pulp.apis.yaposib method)": [[31, "pulp.apis.YAPOSIB.actualSolve", false]], "addinplace() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.addInPlace", false]], "addinplace() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.addInPlace", false]], "addvariabletoconstraints() (pulp.lpvariable method)": [[30, "pulp.LpVariable.addVariableToConstraints", false]], "allcombinations() (in module pulp)": [[30, "pulp.allcombinations", false]], "allpermutations() (in module pulp)": [[30, "pulp.allpermutations", false]], "altername() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.alterName", false]], "args (pulp.constants.pulperror attribute)": [[28, "pulp.constants.PulpError.args", false]], "ascplexlpaffineexpression() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.asCplexLpAffineExpression", false]], "ascplexlpconstraint() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.asCplexLpConstraint", false]], "ascplexvariablesonly() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.asCplexVariablesOnly", false]], "available() (pulp.apis.choco_cmd method)": [[31, "pulp.apis.CHOCO_CMD.available", false]], "available() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.available", false]], "available() (pulp.apis.coinmp_dll class method)": [[31, "pulp.apis.COINMP_DLL.available", false]], "available() (pulp.apis.copt method)": [[31, "pulp.apis.COPT.available", false]], "available() (pulp.apis.copt_cmd method)": [[31, "pulp.apis.COPT_CMD.available", false]], "available() (pulp.apis.copt_dll method)": [[31, "pulp.apis.COPT_DLL.available", false]], "available() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.available", false]], "available() (pulp.apis.cplex_py method)": [[31, "pulp.apis.CPLEX_PY.available", false]], "available() (pulp.apis.fscip_cmd method)": [[31, "pulp.apis.FSCIP_CMD.available", false]], "available() (pulp.apis.glpk_cmd method)": [[31, "pulp.apis.GLPK_CMD.available", false]], "available() (pulp.apis.gurobi method)": [[31, "pulp.apis.GUROBI.available", false]], "available() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.available", false]], "available() (pulp.apis.highs method)": [[31, "pulp.apis.HiGHS.available", false]], "available() (pulp.apis.highs_cmd method)": [[31, "pulp.apis.HiGHS_CMD.available", false]], "available() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.available", false]], "available() (pulp.apis.mipcl_cmd method)": [[31, "pulp.apis.MIPCL_CMD.available", false]], "available() (pulp.apis.mosek method)": [[31, "pulp.apis.MOSEK.available", false]], "available() (pulp.apis.pyglpk method)": [[31, "pulp.apis.PYGLPK.available", false]], "available() (pulp.apis.scip_cmd method)": [[31, "pulp.apis.SCIP_CMD.available", false]], "available() (pulp.apis.scip_py method)": [[31, "pulp.apis.SCIP_PY.available", false]], "available() (pulp.apis.xpress method)": [[31, "pulp.apis.XPRESS.available", false]], "available() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.available", false]], "available() (pulp.apis.yaposib method)": [[31, "pulp.apis.YAPOSIB.available", false]], "buildsolvermodel() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.buildSolverModel", false]], "byref() (in module pulp.apis)": [[31, "pulp.apis.byref", false]], "callsolver() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.callSolver", false]], "changerhs() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.changeRHS", false]], "choco_cmd (class in pulp.apis)": [[31, "pulp.apis.CHOCO_CMD", false]], "clock() (in module pulp.apis)": [[31, "pulp.apis.clock", false]], "coin (in module pulp.apis)": [[31, "pulp.apis.COIN", false]], "coin_cmd (class in pulp.apis)": [[31, "pulp.apis.COIN_CMD", false]], "coinmp_dll (class in pulp.apis)": [[31, "pulp.apis.COINMP_DLL", false]], "coinmp_dll_load_dll() (in module pulp.apis)": [[31, "pulp.apis.COINMP_DLL_load_dll", false]], "combination() (in module pulp)": [[30, "pulp.combination", false]], "configsolvers() (in module pulp.apis)": [[31, "pulp.apis.configSolvers", false]], "constraints (pulp.lpproblem attribute)": [[30, "pulp.LpProblem.constraints", false]], "copt (class in pulp.apis)": [[31, "pulp.apis.COPT", false]], "copt_cmd (class in pulp.apis)": [[31, "pulp.apis.COPT_CMD", false]], "copt_dll (class in pulp.apis)": [[31, "pulp.apis.COPT_DLL", false]], "copt_dll_loadlib() (in module pulp.apis)": [[31, "pulp.apis.COPT_DLL_loadlib", false]], "coptstr() (in module pulp.apis)": [[31, "pulp.apis.coptstr", false]], "copy() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.copy", false]], "copy() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.copy", false]], "copy() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.copy", false]], "copy() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.copy", false]], "copy() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.copy", false]], "cplex (in module pulp.apis)": [[31, "pulp.apis.CPLEX", false]], "cplex_cmd (class in pulp.apis)": [[31, "pulp.apis.CPLEX_CMD", false]], "cplex_py (class in pulp.apis)": [[31, "pulp.apis.CPLEX_PY", false]], "create_tmp_files() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.create_tmp_files", false]], "ctypesarrayfill() (in module pulp.apis)": [[31, "pulp.apis.ctypesArrayFill", false]], "deelasticize() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.deElasticize", false]], "defaultpath() (pulp.apis.choco_cmd method)": [[31, "pulp.apis.CHOCO_CMD.defaultPath", false]], "defaultpath() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.defaultPath", false]], "defaultpath() (pulp.apis.copt_cmd method)": [[31, "pulp.apis.COPT_CMD.defaultPath", false]], "defaultpath() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.defaultPath", false]], "defaultpath() (pulp.apis.fscip_cmd method)": [[31, "pulp.apis.FSCIP_CMD.defaultPath", false]], "defaultpath() (pulp.apis.glpk_cmd method)": [[31, "pulp.apis.GLPK_CMD.defaultPath", false]], "defaultpath() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.defaultPath", false]], "defaultpath() (pulp.apis.highs_cmd method)": [[31, "pulp.apis.HiGHS_CMD.defaultPath", false]], "defaultpath() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.defaultPath", false]], "defaultpath() (pulp.apis.mipcl_cmd method)": [[31, "pulp.apis.MIPCL_CMD.defaultPath", false]], "defaultpath() (pulp.apis.scip_cmd method)": [[31, "pulp.apis.SCIP_CMD.defaultPath", false]], "defaultpath() (pulp.apis.xpress method)": [[31, "pulp.apis.XPRESS.defaultPath", false]], "delete_tmp_files() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.delete_tmp_files", false]], "dicts() (pulp.lpvariable class method)": [[30, "pulp.LpVariable.dicts", false]], "env (pulp.apis.gurobi attribute)": [[31, "pulp.apis.GUROBI.env", false]], "err (pulp.apis.copt_dll attribute)": [[31, "pulp.apis.COPT_DLL.err", false]], "err (pulp.apis.cplex_py attribute)": [[31, "pulp.apis.CPLEX_PY.err", false]], "executable() (pulp.apis.lpsolver_cmd static method)": [[31, "pulp.apis.LpSolver_CMD.executable", false]], "executableextension() (pulp.apis.lpsolver_cmd static method)": [[31, "pulp.apis.LpSolver_CMD.executableExtension", false]], "finddifferencefromrhs() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.findDifferenceFromRHS", false]], "findlhsvalue() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.findLHSValue", false]], "findsolutionvalues() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.findSolutionValues", false]], "fixedelasticsubproblem (class in pulp)": [[30, "pulp.FixedElasticSubProblem", false]], "fixvalue() (pulp.lpvariable method)": [[30, "pulp.LpVariable.fixValue", false]], "from_dict() (pulp.lpconstraint class method)": [[30, "pulp.LpConstraint.from_dict", false]], "from_dict() (pulp.lpvariable class method)": [[30, "pulp.LpVariable.from_dict", false]], "fromdict() (pulp.lpconstraint class method)": [[30, "pulp.LpConstraint.fromDict", false]], "fromdict() (pulp.lpvariable class method)": [[30, "pulp.LpVariable.fromDict", false]], "fromjson() (pulp.lpproblem class method)": [[30, "pulp.LpProblem.fromJson", false]], "fscip (in module pulp.apis)": [[31, "pulp.apis.FSCIP", false]], "fscip_cmd (class in pulp.apis)": [[31, "pulp.apis.FSCIP_CMD", false]], "fscip_statuses (pulp.apis.fscip_cmd attribute)": [[31, "pulp.apis.FSCIP_CMD.FSCIP_STATUSES", false]], "get_status() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.get_status", false]], "getattribute() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.getAttribute", false]], "getcplexstylearrays() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.getCplexStyleArrays", false]], "getoptions() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.getOptions", false]], "getoptions() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.getOptions", false]], "getoptions() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.getOptions", false]], "getsolver() (in module pulp.apis)": [[31, "pulp.apis.getSolver", false]], "getsolverfromdict() (in module pulp.apis)": [[31, "pulp.apis.getSolverFromDict", false]], "getsolverfromjson() (in module pulp.apis)": [[31, "pulp.apis.getSolverFromJson", false]], "glpk (in module pulp.apis)": [[31, "pulp.apis.GLPK", false]], "glpk_cmd (class in pulp.apis)": [[31, "pulp.apis.GLPK_CMD", false]], "gurobi (class in pulp.apis)": [[31, "pulp.apis.GUROBI", false]], "gurobi_cmd (class in pulp.apis)": [[31, "pulp.apis.GUROBI_CMD", false]], "highs (class in pulp.apis)": [[31, "pulp.apis.HiGHS", false]], "highs_cmd (class in pulp.apis)": [[31, "pulp.apis.HiGHS_CMD", false]], "initialize() (in module pulp.apis)": [[31, "pulp.apis.initialize", false]], "isfixed() (pulp.lpvariable method)": [[30, "pulp.LpVariable.isFixed", false]], "isiterable() (in module pulp.constants)": [[28, "pulp.constants.isiterable", false]], "isviolated() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.isViolated", false]], "listsolvers() (in module pulp.apis)": [[31, "pulp.apis.listSolvers", false]], "lpaffineexpression (class in pulp)": [[30, "pulp.LpAffineExpression", false]], "lpconstraint (class in pulp)": [[30, "pulp.LpConstraint", false]], "lpconstrainteq (in module pulp.constants)": [[28, "pulp.constants.LpConstraintEQ", false]], "lpconstraintge (in module pulp.constants)": [[28, "pulp.constants.LpConstraintGE", false]], "lpconstraintle (in module pulp.constants)": [[28, "pulp.constants.LpConstraintLE", false]], "lpconstraintsenses (in module pulp.constants)": [[28, "pulp.constants.LpConstraintSenses", false]], "lpcontinuous (in module pulp.constants)": [[28, "pulp.constants.LpContinuous", false]], "lpelement (class in pulp)": [[30, "pulp.LpElement", false]], "lpmaximize (in module pulp.constants)": [[28, "pulp.constants.LpMaximize", false]], "lpminimize (in module pulp.constants)": [[28, "pulp.constants.LpMinimize", false]], "lpproblem (class in pulp)": [[30, "pulp.LpProblem", false]], "lpsenses (in module pulp.constants)": [[28, "pulp.constants.LpSenses", false]], "lpsolution (in module pulp.constants)": [[28, "pulp.constants.LpSolution", false]], "lpsolver (class in pulp.apis)": [[31, "pulp.apis.LpSolver", false]], "lpsolver_cmd (class in pulp.apis)": [[31, "pulp.apis.LpSolver_CMD", false]], "lpstatus (in module pulp.constants)": [[28, "pulp.constants.LpStatus", false]], "lpstatusinfeasible (in module pulp.constants)": [[28, "pulp.constants.LpStatusInfeasible", false]], "lpstatusnotsolved (in module pulp.constants)": [[28, "pulp.constants.LpStatusNotSolved", false]], "lpstatusoptimal (in module pulp.constants)": [[28, "pulp.constants.LpStatusOptimal", false]], "lpstatusunbounded (in module pulp.constants)": [[28, "pulp.constants.LpStatusUnbounded", false]], "lpstatusundefined (in module pulp.constants)": [[28, "pulp.constants.LpStatusUndefined", false]], "lpsum() (in module pulp)": [[30, "pulp.lpSum", false]], "lpvariable (class in pulp)": [[30, "pulp.LpVariable", false]], "makeelasticsubproblem() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.makeElasticSubProblem", false]], "mipcl_cmd (class in pulp.apis)": [[31, "pulp.apis.MIPCL_CMD", false]], "mktemp() (in module pulp.apis)": [[31, "pulp.apis.mktemp", false]], "module": [[28, "module-pulp.constants", false], [30, "module-pulp", false], [31, "module-pulp.apis", false]], "mosek (class in pulp.apis)": [[31, "pulp.apis.MOSEK", false]], "name (pulp.apis.choco_cmd attribute)": [[31, "pulp.apis.CHOCO_CMD.name", false]], "name (pulp.apis.coin_cmd attribute)": [[31, "pulp.apis.COIN_CMD.name", false]], "name (pulp.apis.coinmp_dll attribute)": [[31, "pulp.apis.COINMP_DLL.name", false]], "name (pulp.apis.copt attribute)": [[31, "pulp.apis.COPT.name", false]], "name (pulp.apis.copt_cmd attribute)": [[31, "pulp.apis.COPT_CMD.name", false]], "name (pulp.apis.copt_dll attribute)": [[31, "pulp.apis.COPT_DLL.name", false]], "name (pulp.apis.cplex_cmd attribute)": [[31, "pulp.apis.CPLEX_CMD.name", false]], "name (pulp.apis.cplex_py attribute)": [[31, "pulp.apis.CPLEX_PY.name", false]], "name (pulp.apis.fscip_cmd attribute)": [[31, "pulp.apis.FSCIP_CMD.name", false]], "name (pulp.apis.glpk_cmd attribute)": [[31, "pulp.apis.GLPK_CMD.name", false]], "name (pulp.apis.gurobi attribute)": [[31, "pulp.apis.GUROBI.name", false]], "name (pulp.apis.gurobi_cmd attribute)": [[31, "pulp.apis.GUROBI_CMD.name", false]], "name (pulp.apis.highs attribute)": [[31, "pulp.apis.HiGHS.name", false]], "name (pulp.apis.highs_cmd attribute)": [[31, "pulp.apis.HiGHS_CMD.name", false]], "name (pulp.apis.lpsolver attribute)": [[31, "pulp.apis.LpSolver.name", false]], "name (pulp.apis.lpsolver_cmd attribute)": [[31, "pulp.apis.LpSolver_CMD.name", false]], "name (pulp.apis.mipcl_cmd attribute)": [[31, "pulp.apis.MIPCL_CMD.name", false]], "name (pulp.apis.mosek attribute)": [[31, "pulp.apis.MOSEK.name", false]], "name (pulp.apis.pulp_cbc_cmd attribute)": [[31, "pulp.apis.PULP_CBC_CMD.name", false]], "name (pulp.apis.pyglpk attribute)": [[31, "pulp.apis.PYGLPK.name", false]], "name (pulp.apis.scip_cmd attribute)": [[31, "pulp.apis.SCIP_CMD.name", false]], "name (pulp.apis.scip_py attribute)": [[31, "pulp.apis.SCIP_PY.name", false]], "name (pulp.apis.xpress attribute)": [[31, "pulp.apis.XPRESS.name", false]], "name (pulp.apis.xpress_py attribute)": [[31, "pulp.apis.XPRESS_PY.name", false]], "name (pulp.apis.yaposib attribute)": [[31, "pulp.apis.YAPOSIB.name", false]], "no_solution_statuses (pulp.apis.fscip_cmd attribute)": [[31, "pulp.apis.FSCIP_CMD.NO_SOLUTION_STATUSES", false]], "no_solution_statuses (pulp.apis.scip_cmd attribute)": [[31, "pulp.apis.SCIP_CMD.NO_SOLUTION_STATUSES", false]], "objective (pulp.lpproblem attribute)": [[30, "pulp.LpProblem.objective", false]], "parse_objective() (pulp.apis.fscip_cmd static method)": [[31, "pulp.apis.FSCIP_CMD.parse_objective", false]], "parse_status() (pulp.apis.fscip_cmd static method)": [[31, "pulp.apis.FSCIP_CMD.parse_status", false]], "parse_variable() (pulp.apis.fscip_cmd static method)": [[31, "pulp.apis.FSCIP_CMD.parse_variable", false]], "parser (in module pulp.apis)": [[31, "pulp.apis.Parser", false]], "permutation() (in module pulp)": [[30, "pulp.permutation", false]], "pulp": [[30, "module-pulp", false]], "pulp.apis": [[31, "module-pulp.apis", false]], "pulp.constants": [[28, "module-pulp.constants", false]], "pulp_cbc_cmd (class in pulp.apis)": [[31, "pulp.apis.PULP_CBC_CMD", false]], "pulp_cbc_path (pulp.apis.pulp_cbc_cmd attribute)": [[31, "pulp.apis.PULP_CBC_CMD.pulp_cbc_path", false]], "pulperror": [[28, "pulp.constants.PulpError", false]], "pulpsolvererror": [[31, "pulp.apis.PulpSolverError", false]], "pyglpk (class in pulp.apis)": [[31, "pulp.apis.PYGLPK", false]], "quote_path() (pulp.apis.xpress static method)": [[31, "pulp.apis.XPRESS.quote_path", false]], "readsol() (pulp.apis.choco_cmd static method)": [[31, "pulp.apis.CHOCO_CMD.readsol", false]], "readsol() (pulp.apis.copt_cmd method)": [[31, "pulp.apis.COPT_CMD.readsol", false]], "readsol() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.readsol", false]], "readsol() (pulp.apis.fscip_cmd static method)": [[31, "pulp.apis.FSCIP_CMD.readsol", false]], "readsol() (pulp.apis.glpk_cmd method)": [[31, "pulp.apis.GLPK_CMD.readsol", false]], "readsol() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.readsol", false]], "readsol() (pulp.apis.highs_cmd method)": [[31, "pulp.apis.HiGHS_CMD.readsol", false]], "readsol() (pulp.apis.mipcl_cmd static method)": [[31, "pulp.apis.MIPCL_CMD.readsol", false]], "readsol() (pulp.apis.scip_cmd static method)": [[31, "pulp.apis.SCIP_CMD.readsol", false]], "readsol() (pulp.apis.xpress static method)": [[31, "pulp.apis.XPRESS.readsol", false]], "readsol_lp() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.readsol_LP", false]], "readsol_mps() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.readsol_MPS", false]], "reelasticize() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.reElasticize", false]], "roundsolution() (pulp.lpproblem method)": [[30, "pulp.LpProblem.roundSolution", false]], "scip (in module pulp.apis)": [[31, "pulp.apis.SCIP", false]], "scip_cmd (class in pulp.apis)": [[31, "pulp.apis.SCIP_CMD", false]], "scip_py (class in pulp.apis)": [[31, "pulp.apis.SCIP_PY", false]], "scip_statuses (pulp.apis.scip_cmd attribute)": [[31, "pulp.apis.SCIP_CMD.SCIP_STATUSES", false]], "setconfiginformation() (in module pulp.apis)": [[31, "pulp.apis.setConfigInformation", false]], "setinitialvalue() (pulp.lpvariable method)": [[30, "pulp.LpVariable.setInitialValue", false]], "setobjective() (pulp.lpproblem method)": [[30, "pulp.LpProblem.setObjective", false]], "settmpdir() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.setTmpDir", false]], "silent_remove() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.silent_remove", false]], "solution_style (pulp.apis.highs_cmd attribute)": [[31, "pulp.apis.HiGHS_CMD.SOLUTION_STYLE", false]], "solve() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.solve", false]], "solve() (pulp.lpproblem method)": [[30, "pulp.LpProblem.solve", false]], "solve_cbc() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.solve_CBC", false]], "sorted_keys() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.sorted_keys", false]], "status (pulp.lpproblem attribute)": [[30, "pulp.LpProblem.status", false]], "to_dict() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.to_dict", false]], "to_dict() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.to_dict", false]], "to_dict() (pulp.lpvariable method)": [[30, "pulp.LpVariable.to_dict", false]], "to_json() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.to_json", false]], "to_string() (in module pulp.apis)": [[31, "pulp.apis.to_string", false]], "todict() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.toDict", false]], "todict() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.toDict", false]], "todict() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.toDict", false]], "todict() (pulp.lpvariable method)": [[30, "pulp.LpVariable.toDict", false]], "tojson() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.toJson", false]], "tojson() (pulp.lpproblem method)": [[30, "pulp.LpProblem.toJson", false]], "uuid4() (in module pulp.apis)": [[31, "pulp.apis.uuid4", false]], "value() (in module pulp)": [[30, "pulp.value", false]], "variables() (pulp.lpproblem method)": [[30, "pulp.LpProblem.variables", false]], "with_traceback() (pulp.constants.pulperror method)": [[28, "pulp.constants.PulpError.with_traceback", false]], "writelp() (pulp.lpproblem method)": [[30, "pulp.LpProblem.writeLP", false]], "writemps() (pulp.lpproblem method)": [[30, "pulp.LpProblem.writeMPS", false]], "writemst() (pulp.apis.copt_cmd method)": [[31, "pulp.apis.COPT_CMD.writemst", false]], "writeslxsol() (pulp.apis.xpress method)": [[31, "pulp.apis.XPRESS.writeslxsol", false]], "writesol() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.writesol", false]], "writesol() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.writesol", false]], "writesol() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.writesol", false]], "writesol() (pulp.apis.highs_cmd method)": [[31, "pulp.apis.HiGHS_CMD.writesol", false]], "xpress (class in pulp.apis)": [[31, "pulp.apis.XPRESS", false]], "xpress_cmd (in module pulp.apis)": [[31, "pulp.apis.XPRESS_CMD", false]], "xpress_py (class in pulp.apis)": [[31, "pulp.apis.XPRESS_PY", false]], "yaposib (class in pulp.apis)": [[31, "pulp.apis.YAPOSIB", false]]}, "objects": {"": [[30, 0, 0, "-", "pulp"]], "pulp": [[30, 1, 1, "", "FixedElasticSubProblem"], [30, 1, 1, "", "LpAffineExpression"], [30, 1, 1, "", "LpConstraint"], [30, 1, 1, "", "LpElement"], [30, 1, 1, "", "LpProblem"], [30, 1, 1, "", "LpVariable"], [30, 4, 1, "", "allcombinations"], [30, 4, 1, "", "allpermutations"], [31, 0, 0, "-", "apis"], [30, 4, 1, "", "combination"], [28, 0, 0, "-", "constants"], [30, 4, 1, "", "lpSum"], [30, 4, 1, "", "permutation"], [30, 4, 1, "", "value"]], "pulp.FixedElasticSubProblem": [[30, 2, 1, "", "alterName"], [30, 2, 1, "", "deElasticize"], [30, 2, 1, "", "findDifferenceFromRHS"], [30, 2, 1, "", "findLHSValue"], [30, 2, 1, "", "isViolated"], [30, 2, 1, "", "reElasticize"]], "pulp.LpAffineExpression": [[30, 2, 1, "", "addInPlace"], [30, 2, 1, "", "asCplexLpAffineExpression"], [30, 2, 1, "", "asCplexVariablesOnly"], [30, 2, 1, "", "copy"], [30, 2, 1, "", "sorted_keys"], [30, 2, 1, "", "toDict"], [30, 2, 1, "", "to_dict"]], "pulp.LpConstraint": [[30, 2, 1, "", "addInPlace"], [30, 2, 1, "", "asCplexLpConstraint"], [30, 2, 1, "", "changeRHS"], [30, 2, 1, "", "copy"], [30, 2, 1, "", "fromDict"], [30, 2, 1, "", "from_dict"], [30, 2, 1, "", "makeElasticSubProblem"], [30, 2, 1, "", "toDict"]], "pulp.LpProblem": [[30, 3, 1, "", "constraints"], [30, 2, 1, "", "fromJson"], [30, 3, 1, "", "objective"], [30, 2, 1, "", "roundSolution"], [30, 2, 1, "", "setObjective"], [30, 2, 1, "", "solve"], [30, 3, 1, "", "status"], [30, 2, 1, "", "toJson"], [30, 2, 1, "", "variables"], [30, 2, 1, "", "writeLP"], [30, 2, 1, "", "writeMPS"]], "pulp.LpVariable": [[30, 2, 1, "", "addVariableToConstraints"], [30, 2, 1, "", "dicts"], [30, 2, 1, "", "fixValue"], [30, 2, 1, "", "fromDict"], [30, 2, 1, "", "from_dict"], [30, 2, 1, "", "isFixed"], [30, 2, 1, "", "setInitialValue"], [30, 2, 1, "", "toDict"], [30, 2, 1, "", "to_dict"]], "pulp.apis": [[31, 1, 1, "", "CHOCO_CMD"], [31, 3, 1, "", "COIN"], [31, 1, 1, "", "COINMP_DLL"], [31, 4, 1, "", "COINMP_DLL_load_dll"], [31, 1, 1, "", "COIN_CMD"], [31, 1, 1, "", "COPT"], [31, 1, 1, "", "COPT_CMD"], [31, 1, 1, "", "COPT_DLL"], [31, 4, 1, "", "COPT_DLL_loadlib"], [31, 3, 1, "", "CPLEX"], [31, 1, 1, "", "CPLEX_CMD"], [31, 1, 1, "", "CPLEX_PY"], [31, 3, 1, "", "FSCIP"], [31, 1, 1, "", "FSCIP_CMD"], [31, 3, 1, "", "GLPK"], [31, 1, 1, "", "GLPK_CMD"], [31, 1, 1, "", "GUROBI"], [31, 1, 1, "", "GUROBI_CMD"], [31, 1, 1, "", "HiGHS"], [31, 1, 1, "", "HiGHS_CMD"], [31, 1, 1, "", "LpSolver"], [31, 1, 1, "", "LpSolver_CMD"], [31, 1, 1, "", "MIPCL_CMD"], [31, 1, 1, "", "MOSEK"], [31, 1, 1, "", "PULP_CBC_CMD"], [31, 1, 1, "", "PYGLPK"], [31, 3, 1, "", "Parser"], [31, 5, 1, "", "PulpSolverError"], [31, 3, 1, "", "SCIP"], [31, 1, 1, "", "SCIP_CMD"], [31, 1, 1, "", "SCIP_PY"], [31, 1, 1, "", "XPRESS"], [31, 3, 1, "", "XPRESS_CMD"], [31, 1, 1, "", "XPRESS_PY"], [31, 1, 1, "", "YAPOSIB"], [31, 4, 1, "", "byref"], [31, 4, 1, "", "clock"], [31, 4, 1, "", "configSolvers"], [31, 4, 1, "", "coptstr"], [31, 4, 1, "", "ctypesArrayFill"], [31, 4, 1, "", "getSolver"], [31, 4, 1, "", "getSolverFromDict"], [31, 4, 1, "", "getSolverFromJson"], [31, 4, 1, "", "initialize"], [31, 4, 1, "", "listSolvers"], [31, 4, 1, "", "mktemp"], [31, 4, 1, "", "setConfigInformation"], [31, 4, 1, "", "to_string"], [31, 4, 1, "", "uuid4"]], "pulp.apis.CHOCO_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"]], "pulp.apis.COINMP_DLL": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.COIN_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "copy"], [31, 2, 1, "", "defaultPath"], [31, 2, 1, "", "getOptions"], [31, 2, 1, "", "get_status"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol_LP"], [31, 2, 1, "", "readsol_MPS"], [31, 2, 1, "", "solve_CBC"], [31, 2, 1, "", "writesol"]], "pulp.apis.COPT": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.COPT_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"], [31, 2, 1, "", "writemst"]], "pulp.apis.COPT_DLL": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "err"], [31, 3, 1, "", "name"]], "pulp.apis.CPLEX_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 2, 1, "", "getOptions"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"], [31, 2, 1, "", "writesol"]], "pulp.apis.CPLEX_PY": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "err"], [31, 3, 1, "", "name"]], "pulp.apis.FSCIP_CMD": [[31, 3, 1, "", "FSCIP_STATUSES"], [31, 3, 1, "", "NO_SOLUTION_STATUSES"], [31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "parse_objective"], [31, 2, 1, "", "parse_status"], [31, 2, 1, "", "parse_variable"], [31, 2, 1, "", "readsol"]], "pulp.apis.GLPK_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"]], "pulp.apis.GUROBI": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "env"], [31, 3, 1, "", "name"]], "pulp.apis.GUROBI_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 2, 1, "", "getOptions"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"], [31, 2, 1, "", "writesol"]], "pulp.apis.HiGHS": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.HiGHS_CMD": [[31, 3, 1, "", "SOLUTION_STYLE"], [31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"], [31, 2, 1, "", "writesol"]], "pulp.apis.LpSolver": [[31, 2, 1, "", "actualResolve"], [31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "copy"], [31, 2, 1, "", "getCplexStyleArrays"], [31, 3, 1, "", "name"], [31, 2, 1, "", "solve"], [31, 2, 1, "", "toDict"], [31, 2, 1, "", "toJson"], [31, 2, 1, "", "to_dict"], [31, 2, 1, "", "to_json"]], "pulp.apis.LpSolver_CMD": [[31, 2, 1, "", "copy"], [31, 2, 1, "", "create_tmp_files"], [31, 2, 1, "", "defaultPath"], [31, 2, 1, "", "delete_tmp_files"], [31, 2, 1, "", "executable"], [31, 2, 1, "", "executableExtension"], [31, 3, 1, "", "name"], [31, 2, 1, "", "setTmpDir"], [31, 2, 1, "", "silent_remove"]], "pulp.apis.MIPCL_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"]], "pulp.apis.MOSEK": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.PULP_CBC_CMD": [[31, 3, 1, "", "name"], [31, 3, 1, "", "pulp_cbc_path"]], "pulp.apis.PYGLPK": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.SCIP_CMD": [[31, 3, 1, "", "NO_SOLUTION_STATUSES"], [31, 3, 1, "", "SCIP_STATUSES"], [31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"]], "pulp.apis.SCIP_PY": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.XPRESS": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "quote_path"], [31, 2, 1, "", "readsol"], [31, 2, 1, "", "writeslxsol"]], "pulp.apis.XPRESS_PY": [[31, 2, 1, "", "actualResolve"], [31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "buildSolverModel"], [31, 2, 1, "", "callSolver"], [31, 2, 1, "", "findSolutionValues"], [31, 2, 1, "", "getAttribute"], [31, 3, 1, "", "name"]], "pulp.apis.YAPOSIB": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.constants": [[28, 6, 1, "", "LpConstraintEQ"], [28, 6, 1, "", "LpConstraintGE"], [28, 6, 1, "", "LpConstraintLE"], [28, 6, 1, "", "LpConstraintSenses"], [28, 6, 1, "", "LpContinuous"], [28, 6, 1, "", "LpMaximize"], [28, 6, 1, "", "LpMinimize"], [28, 6, 1, "", "LpSenses"], [28, 6, 1, "", "LpSolution"], [28, 6, 1, "", "LpStatus"], [28, 6, 1, "", "LpStatusInfeasible"], [28, 6, 1, "", "LpStatusNotSolved"], [28, 6, 1, "", "LpStatusOptimal"], [28, 6, 1, "", "LpStatusUnbounded"], [28, 6, 1, "", "LpStatusUndefined"], [28, 5, 1, "", "PulpError"], [28, 4, 1, "", "isiterable"]], "pulp.constants.PulpError": [[28, 3, 1, "", "args"], [28, 2, 1, "", "with_traceback"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"], "5": ["py", "exception", "Python exception"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function", "5": "py:exception", "6": "py:data"}, "terms": {"": [0, 1, 2, 3, 4, 6, 7, 9, 10, 12, 15, 17, 18, 20, 22, 25, 30], "0": [0, 1, 2, 3, 4, 6, 9, 11, 12, 13, 17, 18, 25, 26, 28, 30, 31], "000": 0, "001": 0, "002": 0, "003": 0, "005": 0, "007": 0, "008": 0, "01": 11, "010": 0, "013": 0, "02": 11, "04": 17, "040": 0, "05": [11, 30], "07": 30, "080": 0, "09123642123": 10, "1": [0, 1, 2, 3, 4, 6, 9, 10, 11, 13, 14, 17, 18, 25, 26, 28, 30, 31], "10": [2, 3, 4, 9, 12, 17, 26, 30, 31], "100": [0, 3, 4, 17, 30], "1000": 3, "100000000000": 10, "100g": 0, "11": 17, "110": 0, "12": [10, 17, 31], "1200": 10, "1234567": 3, "13": 17, "130": 4, "14": 17, "149085": 26, "15": [4, 17, 26], "150": 0, "16": [4, 26], "160": 4, "167": 26, "17": 17, "170": 26, "171": 26, "178": 26, "17851": 26, "1800": 3, "19": 17, "199175": 26, "1e": [30, 31], "2": [0, 2, 3, 4, 6, 11, 14, 17, 18, 20, 25, 26, 28, 30, 31], "20": [17, 31], "200": [0, 3, 11], "2003": 18, "2005": 18, "2007": [0, 3, 31], "2009": [1, 13], "2012": 31, "2019": [4, 13], "21": [4, 17, 26], "22": 26, "22010": 26, "23": [17, 26], "25": [4, 17], "26": 26, "26871": 26, "27": 4, "2g": 0, "3": [2, 3, 4, 9, 12, 17, 18, 20, 25, 26, 28, 30, 31], "317": 26, "319": 26, "32": [10, 20], "33": 0, "336": 26, "35616": 26, "384": 10, "3x3": 2, "4": [0, 1, 2, 3, 4, 12, 13, 17, 18, 20, 22, 26, 30], "40": 0, "4000": 3, "41": 26, "410": 10, "4100": 3, "45": 2, "46": 26, "4861": 26, "4g": 0, "4th": 4, "5": [0, 1, 2, 3, 4, 9, 11, 12, 13, 17, 30, 31], "500": [3, 11], "5000": 3, "52": [0, 6], "526": 26, "53467": 26, "58": 4, "5w_": 4, "6": [0, 2, 17], "60": 0, "64": [10, 20, 31], "64_linux": 9, "66": 0, "67": [0, 26], "6g": 0, "7": [2, 4, 12, 17, 18, 20, 26], "700": 3, "729": 2, "8": [0, 2, 4, 10, 17], "80": 2, "81": 2, "8g": 0, "9": [2, 12, 17, 25], "90": 4, "900": 3, "91701": 26, "94318": 26, "96": 0, "97660": 26, "97894": 26, "9x9": 2, "A": [5, 7, 9, 11, 12, 13, 15, 17, 18, 22, 25, 30, 31], "AND": 31, "And": [7, 10, 12, 17, 31], "As": [0, 2, 3, 6, 9, 10, 12, 17], "At": [3, 4, 13, 17], "BE": 31, "But": [9, 12], "By": [9, 20, 22], "For": [0, 3, 7, 9, 10, 12, 13, 15, 17, 18, 21, 22, 31], "If": [0, 2, 3, 9, 10, 13, 17, 18, 22, 31], "In": [1, 2, 4, 6, 7, 9, 13, 17, 20, 22, 30], "Into": 17, "It": [0, 6, 7, 9, 12, 20, 25, 26, 27, 31], "NOT": 31, "No": [17, 28, 31], "Not": [0, 9, 28], "OR": [15, 18, 24], "Of": 10, "On": [2, 7, 18], "Or": [9, 12], "Such": 3, "TO": 12, "That": 7, "The": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 15, 18, 19, 20, 21, 31], "Then": [0, 1, 17, 20], "There": [2, 3, 6, 9, 10], "These": [0, 2, 4, 6, 9, 17], "To": [0, 1, 2, 3, 4, 7, 10, 13, 17, 18, 20, 22], "With": [9, 17], "_": 12, "_6": 0, "___": 3, "____": 3, "_____": 3, "__________": 3, "__init__": [6, 17], "__str__": 17, "__traceback__": 28, "_all_solv": 6, "_balance_": 3, "_balanced_": 3, "_cmd": 9, "_dict": 30, "_dummy_": 3, "_obj": 31, "_var": 9, "_var2": 9, "_variabl": 13, "a1": [3, 18], "a1x1": 18, "a2": [3, 9, 18], "a2x2": 18, "a3": 3, "a4": 3, "a5": 3, "a_1": 21, "a_2": 21, "a_3": 21, "a_i": [21, 30], "a_n": 21, "ab": [1, 12, 13, 25], "abl": [2, 9, 12, 20], "about": [3, 9, 11, 31], "abov": [0, 2, 3, 9, 17], "absolut": [9, 31], "abstract": 22, "ac": 15, "academ": 20, "accept": 31, "access": [10, 14, 17, 18, 20], "accommod": 3, "accord": 2, "account": [6, 7, 10, 12], "accur": 7, "accuraci": 22, "act": 17, "activ": [7, 14], "actual": [2, 4, 7, 9, 22, 30, 31], "actualresolv": 31, "actualsolv": [8, 30, 31], "ad": [0, 2, 3, 4, 8, 9, 10, 17, 18, 30, 31], "adapt": [9, 13], "add": [0, 4, 7, 8, 9, 10, 15, 18, 30, 31], "addinplac": 30, "addit": [0, 6, 10, 14, 25, 30, 31], "addvariabletoconstraint": 30, "admin": 9, "advantag": [1, 9, 12, 22], "advic": 10, "advis": 0, "affect": [3, 17], "affin": 30, "after": [0, 2, 4, 9, 17, 20, 22, 30, 31], "afterward": 13, "again": [0, 2, 9, 12, 22, 25, 30, 31], "against": 31, "aim": [10, 22], "algebra": 0, "algorithm": [22, 31], "alia": 31, "all": [0, 1, 2, 3, 6, 7, 9, 10, 12, 13, 17, 20, 22, 25, 30, 31], "allcombin": [1, 12, 13, 30], "alloc": 1, "allow": [0, 1, 6, 9, 21, 23, 25, 31], "allpermut": 30, "almost": 21, "along": 3, "alreadi": [0, 3, 9, 10, 13, 20, 22], "also": [0, 2, 3, 7, 9, 10, 12, 13, 17, 20, 21, 22, 26, 27], "alter": [22, 30], "altern": [3, 10, 12], "alternam": 30, "although": [0, 9, 10], "alwai": [3, 10, 17], "among": 9, "amount": [0, 3, 30], "ampl": [15, 24], "ampli": [15, 19, 24], "an": [0, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 25, 30, 31], "anaconda": 14, "analysi": [0, 5], "andrew": 15, "ani": [0, 1, 2, 9, 10, 12, 15, 17, 20, 21, 22, 27], "anita": 15, "anonym": 30, "anoth": [2, 3, 9, 10, 12, 17, 18, 22], "answer": 10, "antoni": [0, 2, 3, 15], "anxn": 18, "anyth": 2, "anywai": 0, "api": [8, 14, 15, 29], "app1": 26, "appar": 10, "appear": 3, "appli": [4, 8, 11, 30], "applic": 9, "approach": [1, 2], "appropri": [3, 22], "apt": 20, "ar": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 15, 17, 18, 21, 22, 30, 31], "arbitrari": [0, 31], "arc": 3, "arch": 31, "arg": [28, 30, 31], "argmax": 25, "argument": [6, 9, 10, 13, 17, 30, 31], "around": 31, "arrai": [19, 31], "ascplexlpaffineexpress": 30, "ascplexlpconstraint": 30, "ascplexvariablesonli": 30, "ask": [14, 22], "assembli": 4, "assembly_dict": 4, "assess": 11, "assign": [0, 13, 17], "assignstatu": 6, "assignvarsv": 6, "associ": [3, 4, 17, 30], "assum": [0, 3, 7, 15, 17, 30, 31], "assumpt": 3, "asterisk": 17, "asymmetr": 11, "attent": 22, "attrfil": 31, "attribut": [0, 6, 9, 17, 30, 31], "auckland": 15, "author": [0, 1, 2, 3, 4, 13], "automat": [9, 12], "avail": [2, 3, 4, 8, 9, 12, 15, 17, 18, 22, 31], "avoid": 3, "awfulli": 2, "axi": 25, "b": [1, 2, 3, 11, 12, 13, 18, 21, 30], "b1": 3, "b2": 3, "b3": 3, "b4": 3, "b5": 3, "back": [20, 22], "backup": 9, "backward": 31, "balanc": 3, "bar": 3, "base": [4, 7, 8, 9, 12, 20, 28, 30, 31], "basesolvertest": 6, "bash": 9, "bashrc": 9, "basic": [15, 19], "beaten": 31, "becaus": [0, 2, 3, 6, 9, 12], "becom": [0, 1, 2, 10, 12, 17, 18], "beef": [0, 17], "beefperc": 0, "been": [2, 3, 10, 12, 13, 16, 17, 31], "beer": 3, "beerdistributionproblem": 3, "beerdistributionproblemcompetitorextens": 3, "beerdistributionproblemwarehouseextens": 3, "befor": [0, 6, 7, 9, 12, 15, 17, 31], "begin": [0, 4, 15, 17], "beginn": 17, "beginnersguid": 17, "being": [0, 2, 3, 9, 10, 30], "below": [0, 2, 3, 10, 12, 13, 15, 17, 20], "ben": 0, "benefit": 22, "bertsima": 4, "best": [6, 22, 26], "best_bound": 26, "best_solut": 26, "better": [0, 2, 9, 17], "between": [0, 1, 2, 6, 12, 13], "big": [2, 9, 10], "bin": [7, 9], "binari": [1, 2, 10, 12, 13, 20, 25, 28, 30, 31], "bind": 31, "bit": [10, 20], "black": 8, "blank": 0, "blend": [3, 5, 15], "block": 0, "board": 25, "bodi": 17, "book": 17, "bool": [30, 31], "boolean": 25, "borrow": 31, "both": [9, 12, 17], "bottom": 17, "bound": [0, 3, 13, 21, 22, 26, 30], "boutiqu": 3, "box": [2, 25], "bracket": [0, 17], "bran": 0, "branch": [21, 31], "break": [2, 22], "breweri": 3, "brief": [0, 30], "bring": 10, "broadcast": 25, "broken": 22, "browser": [7, 18], "bug": 18, "build": [0, 8, 10, 12, 30], "buildsolvermodel": [6, 9, 31], "built": [10, 18], "bundl": 20, "byref": 31, "byte": 31, "c": [1, 2, 3, 4, 9, 11, 12, 13, 20, 25, 30, 31], "c1": 12, "c2": 12, "c3": 12, "c_": 3, "c_doubl": 31, "calcul": [1, 12, 13, 17, 30], "call": [0, 2, 3, 6, 9, 11, 17, 18, 20, 21, 22, 30, 31], "callabl": [20, 31], "callback": 31, "callsolv": [6, 9, 31], "can": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 15, 17, 18, 20, 21, 22, 27, 30, 31], "cannot": [0, 2, 3, 6, 12, 17, 22, 31], "cap_": 4, "capabl": 4, "capac": [3, 4], "capacity_dict": 4, "capacity_ub": 4, "capassembli": 4, "capmold": 4, "capsteel": 4, "captur": 22, "carefulli": [3, 22], "case": [0, 1, 2, 3, 4, 9, 10, 13, 15], "cast": 12, "cat": [0, 1, 2, 4, 12, 13, 30], "categori": 30, "caus": [0, 10], "caveat": 14, "cbc": [14, 18, 20, 26, 31], "cbc_cmd": 13, "cd": [7, 9, 18, 20], "cdll": 31, "cent": 0, "chain": 27, "challeng": 17, "chanc": 22, "chang": [0, 3, 4, 6, 7, 9, 20, 21, 22, 28, 30], "changeabl": 2, "changerh": 30, "chapter7": 31, "charact": 31, "cheaper": 3, "cheapli": 0, "check": [3, 10, 13, 14, 30, 31], "checkduplicatevar": 6, "checklengthvar": 6, "chicken": [0, 17], "chickenperc": 0, "choco": [18, 31], "choco_cmd": [9, 31], "choic": [0, 2, 4, 7], "choice_4_2_9": 2, "choos": [0, 9], "chosen": [1, 3, 13], "christoph": 31, "cl": 12, "class": [0, 8, 12, 15, 18, 27, 28, 29, 31], "classmethod": [30, 31], "clear": [2, 17], "clearli": [0, 2, 22], "clever": 12, "click": [13, 20], "client": [7, 22], "clip": 25, "cliqu": 26, "clock": 31, "clone": 8, "close": [2, 20], "clp": [18, 31], "cmd": [6, 14, 20], "co": 1, "code": [0, 2, 3, 6, 7, 12, 13, 15, 19, 20, 27], "coeffici": [10, 12, 22, 30], "coin": [10, 18, 22, 31], "coin_cmd": [9, 20, 31], "coin_mp": 31, "coinmp_dll": [9, 20, 31], "coinmp_dll_load_dl": 31, "col": [2, 26], "collect": 0, "colon": 17, "column": [1, 2, 18, 20, 26, 30], "columnwis": 30, "com": [4, 7, 10, 15, 16, 18, 23, 25, 26, 31], "combin": [2, 3, 4, 10, 18], "come": [3, 9, 22, 30, 31], "comma": [0, 17], "command": [6, 7, 9, 10, 17, 20, 31], "comment": [0, 2, 3, 18], "commit": 7, "common": 10, "compani": 4, "compar": [2, 3], "comparison": 4, "compil": 31, "complet": [10, 12, 13], "complic": [2, 4], "comprehens": [0, 3, 4, 22], "comput": [3, 9, 12], "concaten": 12, "concept": [9, 15, 19], "concern": 2, "concis": [17, 22], "conda": 14, "condit": [17, 21], "configpars": 31, "configsolv": 31, "configur": [6, 14, 15, 18, 31], "confirm": 13, "connect": [3, 9], "consecut": 17, "consequ": 22, "consid": [0, 2, 3, 22], "consider": [3, 6, 14, 22], "consist": 6, "consol": [4, 9, 31], "constant": [6, 12, 15, 21, 29, 30], "constrain": [3, 25], "constraint": [1, 4, 10, 12, 14, 15, 18, 20, 21, 22, 26, 31], "constraint_1": 11, "constraint_2": 11, "constraintsnam": 31, "construct": [18, 22], "constructor": 9, "consult": 22, "contain": [0, 1, 2, 3, 6, 11, 17, 18, 21, 28, 30], "content": [15, 17, 26], "continu": [0, 4, 12, 17, 20, 21, 28, 30], "contribut": [0, 4, 8, 15], "control": [2, 9, 31], "convent": [6, 12], "convert": [0, 4, 30], "coordin": 25, "copi": [0, 9, 30, 31], "copt": [9, 31], "copt_cmd": 31, "copt_dll": 31, "copt_dll_loadlib": 31, "coptstr": 31, "copyright": [18, 31], "core": 6, "correctli": [9, 10, 13, 20], "correspond": [2, 4, 6, 17], "cost": [0, 3, 4, 9, 12, 17, 22], "could": [0, 2, 3, 10, 12, 13, 17, 22], "count": 31, "coupl": 6, "cours": [3, 10, 17], "cover": [1, 6, 31], "covercut": 31, "cplex": [0, 10, 18, 20, 21, 22, 26, 31], "cplex_cmd": [9, 13, 20, 31], "cplex_dll": [9, 20], "cplex_hom": 9, "cplex_pi": [13, 20, 31], "cplex_studio128": 9, "cpo_hom": 9, "cpoptim": 9, "cpu": 31, "crate": 3, "creat": [0, 1, 2, 3, 4, 8, 9, 12, 13, 17, 18, 22, 26, 30, 31], "create_anon": 25, "create_tmp_fil": [6, 31], "creation": 17, "cross": 9, "crucial": 22, "ctype": 31, "ctypesarrayfil": 31, "cumbersom": 9, "curli": 17, "current": [9, 17, 20, 21, 31], "custom": 12, "cut": [26, 31], "cut_info": 26, "cutsbestbound": 26, "cycl": [0, 3], "d": [1, 3, 11, 12, 13], "d_b": 3, "data": [0, 2, 3, 4, 6, 14, 15, 17, 22, 24, 26, 30, 31], "databas": 4, "datafram": 26, "date": 0, "de": 30, "debain": 20, "debug": [14, 15, 31], "decid": [0, 3, 4, 22], "decim": 10, "decis": [4, 21, 22], "declar": [6, 23], "deelastic": 30, "deem": 2, "def": [1, 6, 12, 13, 17], "default": [0, 3, 6, 9, 10, 12, 13, 17, 18, 20, 30, 31], "defaultpath": [8, 31], "defin": [0, 1, 2, 3, 4, 6, 11, 17, 22, 27, 30], "definit": [2, 3, 17, 28], "delet": [2, 9, 31], "delete_tmp_fil": [6, 31], "deliv": 3, "demand": [3, 4], "demonstr": 17, "denot": [11, 17], "depend": [0, 7, 9, 17, 31], "deploi": 9, "depth": 26, "describ": [0, 10, 20], "descript": 5, "design": 31, "desktop": 20, "detail": [3, 6, 10, 21, 22], "detect": 7, "determin": [1, 4, 22], "dev": [7, 18, 31], "develop": [7, 15], "devnul": 6, "diagram": [3, 22], "dict": [0, 1, 2, 3, 4, 12, 13, 17, 30, 31], "dictionari": [0, 3, 4, 9, 12, 13, 15, 24, 26, 28, 30, 31], "did": [2, 9, 10, 31], "differ": [0, 9, 17, 22, 31], "differenti": 4, "difficult": [1, 21], "digit": 25, "dimens": 17, "dir": 31, "directli": [0, 7, 9, 10, 12], "directori": [0, 3, 6, 7, 9, 10, 18, 20, 31], "discret": 0, "discuss": [10, 18], "disk": 9, "dispatch": 3, "displai": [0, 17, 18, 20], "distanc": [1, 11, 12, 13], "distinct": 25, "distribut": [3, 20], "dive": 17, "divid": [0, 20], "divis": 17, "dj": [12, 30], "dll": 31, "dmd": 4, "do": [0, 2, 4, 6, 7, 9, 10, 12, 13, 17, 18, 20, 22, 25, 30], "doc": [7, 18, 31], "document": [8, 9, 10, 15, 19], "doe": [0, 1, 6, 9, 12, 17, 30, 31], "dollar": 3, "don": [2, 3, 22], "done": [0, 4, 6, 7, 9, 17, 21, 22], "dot": 0, "doubl": 31, "down": 22, "download": [7, 10, 17, 18, 20], "dr": [0, 2, 3], "dramat": 2, "draw": 2, "drive": [9, 20], "dual": [9, 20, 21], "due": 3, "dummi": 3, "duplic": [6, 10], "duquesn": 31, "dure": [3, 9, 14, 15, 31], "dynam": [9, 31], "e": [0, 1, 2, 3, 6, 9, 10, 12, 13, 17, 22, 30, 31], "each": [0, 1, 2, 3, 4, 6, 7, 9, 12, 13, 17, 20, 22, 30, 31], "earlier": 15, "earn": 4, "easi": [3, 7, 9, 27], "easier": [0, 2, 12], "easiest": [7, 18, 20], "easili": [0, 3, 17, 22], "economi": 3, "edit": [2, 3, 4, 9, 31], "editor": [0, 10], "effect": [2, 21, 22, 30], "effici": [1, 3, 25, 27], "either": [0, 11, 17, 20, 22, 30, 31], "elaps": 31, "elast": [14, 15, 20, 30], "elastic": [11, 30], "elasticproblem": 11, "elasticproblem_1": 11, "elasticproblem_2": 11, "eleg": 2, "element": [0, 1, 2, 4, 17, 30, 31], "elif": [12, 17], "els": [2, 6, 9, 12, 17, 31], "empti": [0, 17, 30], "encod": 12, "end": [0, 2, 4, 9, 12, 13, 17], "end_messag": 17, "endmessag": 17, "enorm": 21, "enough": [9, 12], "ensur": [0, 2, 7], "enter": [0, 2, 3, 17, 20, 22], "entri": 0, "enumer": 1, "env": 31, "environ": [7, 14, 18], "eol": 17, "ep": 30, "epgap": 31, "epsint": 30, "equal": [0, 2, 3, 4, 11], "equat": 0, "equival": 30, "err": 31, "error": [6, 14, 15], "escap": 31, "essenti": [0, 2], "etc": [0, 3, 9, 20, 26], "even": [10, 31], "eventu": 17, "ever": 25, "everi": [2, 3, 7, 17], "ex": [9, 14, 18], "ex_1": 11, "ex_2": 11, "exact": 2, "exactli": [0, 1, 2, 3, 10, 12], "examin": [11, 22], "exampl": [0, 2, 3, 8, 9, 10, 11, 14, 17, 19, 20, 22, 25, 26, 27, 30], "exce": [3, 17], "excel": [17, 22], "except": [6, 17, 21, 28, 30, 31], "excess": 3, "execut": [6, 7, 9, 14, 18, 31], "executableextens": [6, 31], "exercis": 0, "exist": [2, 6, 9, 17, 28, 30, 31], "exit": 31, "expand": 3, "expect": [6, 20, 31], "expert": 5, "explain": [0, 2, 3, 6, 9, 15], "explicit": [9, 17, 22], "explicitli": [0, 1, 2], "exponenti": 21, "export": [10, 14, 15, 18, 30, 31], "express": [1, 2, 4, 18, 21, 22], "extens": 5, "extern": 20, "extra": [3, 5, 8], "extract": [0, 20], "extrem": 9, "f": [1, 3, 12, 13, 30], "fact": [2, 17], "factor": 3, "factori": 22, "fail": 22, "fairli": 9, "fals": [2, 6, 9, 30, 31], "far": 20, "fast": [9, 12, 17], "faster": 9, "fat": 0, "fatperc": 0, "fatrequir": 0, "feasibl": [2, 10, 20], "featur": [2, 19], "feedback": [14, 22], "feel": 7, "few": [0, 2], "fiberscip": 31, "fibr": 0, "fibreperc": 0, "fibrerequir": 0, "fico": 31, "fifth": 17, "file": [0, 1, 2, 3, 4, 6, 7, 10, 11, 12, 14, 17, 18, 20, 22, 28, 30, 31], "filenam": [30, 31], "fill": [2, 6, 9, 14], "final": [0, 2, 3, 4, 7, 9, 10, 11, 22, 31], "financi": 3, "find": [1, 2, 4, 6, 7, 9, 12, 13, 18, 21, 30], "finddifferencefromrh": 30, "findlhsvalu": 30, "findsolutionvalu": [6, 9, 31], "finish": 6, "first": [0, 1, 2, 3, 4, 6, 7, 9, 10, 17, 20, 22], "first_relax": 26, "first_solut": 26, "firstli": 0, "fit": [12, 30], "five": [0, 3, 22], "fix": [3, 7, 10, 14, 30], "fixedelasticsubproblem": [11, 30], "fixvalu": [13, 30], "flat": [12, 27], "flexibl": 12, "float": [12, 17, 30, 31], "flow": 3, "focu": 17, "folder": [2, 7, 10, 18, 20], "foldernam": 20, "follow": [0, 2, 3, 6, 7, 9, 10, 11, 12, 13, 17, 18, 20, 21, 26, 30, 31], "food": 0, "foral": 3, "forc": 31, "forecast": 3, "forget": 9, "fork": 8, "form": [3, 11, 18, 21, 22], "formal": [0, 22], "format": [0, 12, 17, 30, 31], "formatt": 8, "former": 9, "formul": [5, 6, 15, 31], "found": [0, 1, 2, 3, 4, 6, 9, 18, 26, 28, 31], "four": [0, 4], "fourth": [0, 17], "fraction": [3, 20, 31], "fractionelasticsubproblem": 30, "franco": [13, 15], "free": [7, 11, 20, 30], "freebound": 20, "freebound_list_valu": 11, "freebound_valu": 11, "freeli": [17, 20], "frequenc": 31, "frequent": 0, "freund": 4, "from": [0, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 17, 18, 21, 22, 25, 28, 30, 31], "from_dict": [12, 30], "from_json": 12, "fromdict": 30, "fromjson": 30, "frommp": 12, "fscip": [18, 31], "fscip_cmd": 31, "fscip_status": 31, "full": [1, 2, 4, 5, 15], "fulli": 0, "function": [1, 4, 6, 7, 10, 11, 15, 18, 20, 22, 25, 27, 30, 31], "fundament": 17, "further": [0, 3, 7, 21, 22], "futur": 22, "g": [0, 1, 3, 6, 9, 10, 12, 13, 22, 31], "gain": 13, "galor": 25, "game": 17, "gap": [26, 31], "gapab": 31, "gaprel": 31, "ge": [0, 3, 4, 11], "gel": 0, "gemston": 4, "gemstoneprob": 4, "gener": [1, 6, 10, 17, 18, 22, 30, 31], "get": [3, 6, 7, 9, 10, 12, 13, 18, 20, 31], "get_info_log_solv": 26, "get_statu": 31, "getattribut": 31, "getcplexstylearrai": 31, "getopt": 31, "getsolv": [9, 31], "getsolverfromdict": [9, 31], "getsolverfromjson": [9, 31], "git": [7, 18], "github": [4, 7, 10, 16, 18, 20, 23, 25, 26, 27, 31], "give": [0, 2, 3, 4, 9, 13, 14, 17, 22, 30], "given": [0, 2, 3, 13, 17, 18, 22, 30, 31], "glpk": [18, 20, 31], "glpk_cmd": [9, 20, 31], "gmail": [4, 15], "go": [3, 7, 9, 12, 20, 21, 31], "goal": [4, 22], "gomori": [26, 31], "good": [3, 10, 21, 31], "govern": 17, "gram": 0, "graphic": [3, 9], "greater": [0, 3], "grid": 2, "group": [9, 14, 17], "grow": 21, "gtc": 4, "guarante": [1, 3, 22], "guest": [1, 12, 13], "gui": [9, 20], "guid": [7, 9, 15, 17, 18], "gurobi": [6, 13, 18, 20, 22, 26, 31], "gurobi700": 26, "gurobi801": 9, "gurobi_cmd": [9, 13, 20, 31], "gurobi_hom": 9, "gurobipi": 6, "ha": [0, 3, 6, 10, 11, 12, 13, 14, 16, 31], "had": 2, "handl": [6, 10], "happen": 9, "happi": [1, 12, 13], "hard": [9, 22, 30], "hash": 17, "have": [0, 1, 2, 3, 4, 7, 9, 10, 12, 13, 15, 17, 20, 21, 22, 25, 27, 31], "head": [0, 3, 17], "heaven": [15, 24], "heavi": 25, "help": [3, 7, 14], "helper": [9, 27, 30], "here": [1, 3, 4, 6, 7, 9, 10, 12, 13, 17, 21], "heurdepth": 31, "heurfreq": 31, "heurist": [22, 31], "heurstra": 31, "high": [9, 10, 18, 31], "highli": [10, 17], "highs_cmd": 31, "highs_jll": 31, "home": [7, 15, 18, 19, 31], "hood": 25, "hopefulli": 28, "host": 17, "hour": [4, 22], "how": [0, 1, 3, 4, 8, 14, 15, 17, 18, 22], "howev": [0, 2, 15, 17, 22], "html": [7, 18, 27, 31], "http": [4, 10, 16, 18, 23, 25, 26, 27, 31], "i": [0, 1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 25, 26, 28, 30, 31], "ibm": 9, "id": 7, "idea": 9, "ideal": 6, "ident": 21, "identif": 22, "identifi": [12, 17, 22, 30], "idl": 20, "ignor": 0, "ilog": 9, "imagin": [9, 12], "implement": [0, 6, 22, 31], "impli": [3, 9, 13, 17, 26], "import": [0, 1, 2, 3, 4, 6, 10, 13, 14, 15, 19, 20, 21, 22, 25, 26, 30], "importantli": 22, "imposs": 10, "improv": [0, 31], "inbetween": 2, "includ": [0, 3, 4, 7, 8, 9, 10, 15, 17, 18, 20, 22, 26], "incomplet": 2, "incorpor": 22, "increas": [2, 21, 22], "incur": 3, "indent": 17, "index": [2, 4, 7, 12, 18, 25, 30, 31], "indexstart": 30, "indic": [2, 30], "individu": 2, "industri": [12, 22], "inequ": 31, "infbound": 31, "infeas": [0, 3, 14, 20, 28, 31], "infin": [0, 30], "inform": [0, 3, 6, 9, 10, 12, 15, 17, 18, 26, 30, 31], "infti": 30, "ingr": 0, "ingr_ingredientnam": 0, "ingr_mutton": 0, "ingredi": 0, "ingredient_var": 0, "ingredientslist": 17, "inherit": 8, "initi": [6, 9, 13, 17, 30, 31], "initialis": [30, 31], "input": [0, 3, 17, 30], "input_data": 2, "inputparameter1": 17, "inputparameter2": 17, "insid": [7, 9, 10, 17, 18, 30], "inspect": 12, "instal": [6, 8, 10, 15, 19, 31], "instanc": [17, 30, 31], "instanti": [11, 31], "instead": [2, 3, 12, 17, 22, 27], "instruct": [15, 18, 20], "int": [12, 17, 30, 31], "integ": [0, 2, 3, 12, 17, 19, 20, 28, 30, 31], "integr": [3, 7, 14], "intellig": 22, "intend": 17, "interact": 3, "interdepend": 22, "interestingli": 2, "interfac": [9, 12, 15, 29], "interior": [21, 22], "intermediari": 9, "intern": [3, 12, 15, 31], "internet": 17, "interpret": [20, 31], "interrupt": 31, "interv": 11, "intract": 1, "introduct": 15, "introductori": 2, "invalid": 22, "invers": 6, "invest": 22, "invit": 1, "involv": [9, 10, 22], "io": [18, 27], "isfix": 30, "isinst": 12, "isiter": 28, "ismip": 6, "issu": [7, 12, 14, 18], "isviol": 30, "item": [1, 4, 13, 30], "iter": [17, 30], "itpnod": 26, "its": [0, 3, 6, 9, 10, 11, 16, 30, 31], "itself": 30, "j": [1, 2, 3, 4, 12, 13, 17, 18], "jelli": 17, "jl": 31, "json": [9, 14, 30, 31], "jsonencod": 12, "juliabinarywrapp": 31, "jump": 3, "jupyt": 14, "just": [0, 2, 3, 6, 9, 13, 25, 31], "k": [1, 2, 12, 13, 30], "kean": 15, "keep": 9, "keepfil": [6, 9, 31], "kei": [0, 3, 17, 22, 28, 30, 31], "keyword": [17, 25, 30, 31], "knapsack": 31, "knew": 9, "know": [0, 3, 7, 9, 13], "knowledg": [0, 17], "known": [2, 4, 21, 22], "kwarg": [30, 31], "l": [1, 2, 12, 13], "la": 27, "labor": 4, "laid": 0, "lamb": 17, "languag": [10, 19, 20], "larg": [1, 2, 3], "last": [0, 3, 9], "later": [3, 4, 15], "latest": [18, 20, 31], "latter": 9, "launch": 10, "lb": [4, 25], "ld_library_path": 9, "ldot": 3, "le": [0, 4, 11], "lead": [0, 2, 3, 13], "learn": [7, 15, 17], "least": [0, 1, 3, 15, 31], "leav": [0, 3, 9], "left": [0, 11, 20], "len": [1, 13], "length": [17, 30], "lengthsdict": 17, "lenopt": 17, "less": 3, "let": [3, 22, 25], "letter": [1, 12, 13], "level": [6, 9, 17, 31], "lh": 30, "lib": 9, "librari": [9, 20, 31], "licens": [18, 20], "lift": [25, 31], "like": [0, 1, 3, 4, 9, 10, 17, 21, 25], "limit": [0, 3, 4, 22, 31], "line": [0, 2, 3, 6, 7, 9, 10, 17, 20, 27, 31], "linear": [0, 1, 2, 3, 18, 19, 22, 25, 30], "link": [7, 15, 17], "lint": 7, "linter": 8, "linux": [7, 9, 18, 31], "linux64": 9, "list": [0, 1, 2, 3, 4, 6, 9, 11, 12, 13, 15, 18, 20, 24, 30, 31], "listsolv": [9, 31], "littl": [0, 2, 9], "lluang": 4, "load": [9, 13, 20, 23, 31], "local": 18, "locat": [2, 6, 9, 20, 31], "log": [10, 15, 24, 31], "logfil": 31, "logic": [0, 2, 3, 4, 6, 22], "logpath": [10, 31], "long": [2, 3, 12, 17, 20, 22], "longer": [12, 17, 20], "look": [0, 3, 9, 10, 15, 17, 22], "lookalik": 31, "loop": [0, 2, 3, 19, 22], "loos": 3, "lose": [12, 27], "loss": 27, "lost": 3, "lot": [9, 12, 21], "loui": 4, "low": 31, "lowbound": [1, 4, 9, 12, 13, 30], "lower": [0, 3, 9, 13, 30], "lp": [0, 3, 4, 5, 6, 9, 10, 11, 15, 17, 18, 20, 30, 31], "lpaffineexpress": [20, 25, 30], "lparrai": 25, "lpbinari": [25, 28], "lpconstraint": [11, 18, 25, 28, 30], "lpconstrainteq": [28, 30], "lpconstraintg": [28, 30], "lpconstraintl": [28, 30], "lpconstraintsens": 28, "lpconstraintvar": [18, 30], "lpcontinu": [0, 28], "lpdot": 18, "lpelement": 30, "lpfractionconstraint": 30, "lpinteg": [0, 1, 3, 12, 13, 28], "lpmaxim": [0, 2, 4, 6, 28, 30], "lpminim": [0, 1, 2, 3, 9, 12, 13, 18, 25, 28, 30], "lpobjsens": 31, "lpproblem": [0, 1, 2, 3, 4, 6, 9, 11, 12, 13, 18, 25], "lpsens": 28, "lpsolut": 28, "lpsolutionintegerfeas": 28, "lpsolutionnosolutionfound": [6, 28], "lpsolutionoptim": 28, "lpsolutionstatusinfeas": 28, "lpsolutionstatusunbound": 28, "lpsolver": [6, 31], "lpsolver_cmd": [6, 31], "lpstatu": [0, 2, 4, 18, 28], "lpstatusinfeas": [6, 28], "lpstatusnotsolv": [6, 28], "lpstatusoptim": 28, "lpstatusunbound": 28, "lpstatusundefin": 28, "lpsum": [0, 1, 2, 3, 4, 12, 13, 18, 30], "lpvar": 31, "lpvarcategori": 31, "lpvariabl": [0, 1, 2, 3, 4, 9, 12, 13, 18, 20, 25, 30], "luangkesorn": 4, "lugerpitt": 4, "m": [1, 2, 7, 12, 13, 18], "mac": [7, 9], "machin": [4, 7, 9, 22], "made": [3, 12, 15, 24], "magic": 9, "magnitud": 11, "mai": [1, 2, 3, 4, 9, 10, 11, 12, 20, 21, 22, 30, 31], "main": [0, 6, 9, 10, 15, 30, 31], "mainli": 17, "make": [0, 1, 2, 3, 4, 8, 9, 10, 17, 18, 20, 22, 27, 30, 31], "makedict": 3, "makeelasticsubproblem": [11, 30], "maker": 4, "manag": 3, "mani": [2, 3, 4, 9, 12, 13, 22], "manipul": [15, 20, 24, 27], "manual": 9, "manufactur": 0, "mari": 31, "market": 4, "mason": 15, "match": [9, 15, 24], "materi": [4, 17], "mathbb": 3, "mathemat": [20, 21], "matrix": 26, "matrix_post": 26, "matter": 17, "max": [3, 4, 25, 31], "max_length": 30, "max_tabl": [1, 12, 13], "max_table_s": [1, 12, 13], "maxcardin": 30, "maxim": [4, 6, 20, 28], "maximis": [1, 2, 22], "maximum": [1, 3, 12, 13, 31], "maximum_number_of_t": [1, 12, 13], "maxmemori": 31, "maxnod": 31, "maxoneperbox": 25, "maxonepercol": 25, "maxoneperrow": 25, "maxoneperxi": 25, "mean": [0, 2, 9, 12, 22], "meaning": [2, 3, 4, 7], "meat": [0, 17], "meet": 0, "memori": [10, 31], "mention": 12, "menu": 20, "merx": 2, "messag": [7, 10, 13], "met": [0, 2, 3], "method": [0, 7, 8, 9, 11, 13, 21, 22, 30], "methodologi": 22, "michael": 15, "might": 2, "mike": 3, "min": [0, 3, 25], "mine": 9, "miner": 0, "minim": [3, 6, 11, 12, 28], "minimalist": 7, "minimis": [0, 2, 3, 22], "minimum": [3, 10], "minor": 21, "mip": [6, 9, 14, 20, 21, 26, 30, 31], "mip_start": [9, 31], "mipcl": [18, 31], "mipcl_api": 6, "mipcl_cmd": [6, 9, 31], "mipcl_cmdtest": 6, "mir": 26, "mitchel": [0, 1, 2, 3, 13, 15, 18, 31], "mix": [0, 17, 21], "mkstemp": 31, "mktemp": 31, "model": [0, 1, 2, 4, 5, 6, 9, 10, 13, 14, 15, 17, 18, 19, 20, 30, 31], "modif": [2, 31], "modifi": [6, 7, 13, 17, 30], "modul": [12, 17, 20, 31], "modulenotfounderror": 31, "modulu": 17, "mold": 4, "molding_dict": 4, "moment": 31, "monitor": [5, 22], "monoton": 31, "more": [0, 2, 3, 6, 9, 10, 17, 18, 22, 25, 28, 30, 31], "mosek": [9, 18, 31], "most": [9, 14, 15, 21, 26], "move": [16, 17], "mp": [6, 9, 10, 14, 18, 30, 31], "mps_mipcl": 6, "mpsfile": 10, "mpssens": [6, 30], "msg": [6, 9, 10, 13, 18, 31], "mst": 9, "much": [0, 2, 3, 4, 17], "multi": 31, "multipl": [2, 17, 31], "multipli": 0, "must": [0, 1, 2, 3, 4, 12, 13, 17, 18, 20, 21, 22, 31], "must_seat_": [1, 12, 13], "mutton": [0, 17], "my": 9, "mylist": 31, "myproblem": 18, "n": [1, 2, 12, 13, 25, 31], "name": [0, 2, 3, 4, 6, 7, 9, 12, 17, 18, 20, 25, 30, 31], "nathan": 2, "natur": [2, 3, 17], "navig": 20, "ndarrai": 12, "neat": 22, "necessari": [2, 9, 30], "need": [0, 2, 3, 6, 7, 9, 10, 12, 13, 15, 17, 20, 21, 22, 27], "neg": [0, 3, 22, 30], "neither": 2, "nest": 27, "net": 4, "never": [10, 22, 25], "nevertheless": 12, "new": [2, 3, 7, 8, 9, 12, 15, 17, 18, 22, 30], "newbegin": 17, "newbeginendstringov": 17, "newer": 18, "next": [0, 4, 9, 17, 22], "no_solution_status": 31, "node": [3, 26, 31], "nodeselect": 31, "nodesleft": 26, "non": [0, 1, 2, 3, 30], "nonam": 30, "none": [0, 2, 3, 6, 9, 12, 17, 26, 30, 31], "nonetheless": 10, "nonetyp": 31, "nonneg": 4, "nonprogramm": 17, "nonzero": 26, "nor": 2, "normal": [3, 17, 30], "notat": 4, "note": [0, 1, 2, 3, 4, 12, 20, 21, 28, 30], "notebook": 14, "notic": [0, 3], "now": [0, 3, 7, 9, 10, 12, 16, 17, 20, 31], "np": 12, "npencod": 12, "number": [0, 1, 2, 3, 10, 11, 12, 13, 17, 21, 22, 27, 30, 31], "numer": [20, 28, 30], "numpi": [14, 15, 24], "nutrient": 0, "nutrit": 0, "nz": 15, "o": [1, 3, 6, 12, 13, 15, 17, 31], "obj": [12, 28, 30], "object": [1, 4, 6, 9, 10, 11, 12, 17, 18, 20, 21, 22, 26, 30, 31], "objectivenam": 31, "observ": [17, 22], "obtain": [0, 20], "obviou": 2, "occur": [2, 4], "odd": 17, "offer": [9, 12], "offic": 3, "offici": [8, 14], "offset": 31, "often": [3, 10, 17, 21, 22], "ol": 26, "old": 10, "onc": [0, 2, 3, 9, 13, 17], "one": [0, 1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 17, 21, 30], "onedigitpercel": 25, "ones": [7, 27], "ongo": 5, "onli": [1, 2, 3, 6, 7, 9, 12, 13, 17, 21, 23, 31], "onlyavail": [9, 31], "open": [0, 2, 6, 7, 9, 10, 18, 20, 22], "oper": [0, 2, 3, 6, 9, 10, 17, 22, 25, 27, 30], "operating_system": 31, "opportun": 22, "opt": 9, "optim": [0, 2, 3, 4, 13, 18, 20, 26, 28, 31], "optimis": [0, 4, 15, 19, 20], "optimum": [0, 4], "option": [0, 2, 3, 6, 9, 30, 31], "ord": [1, 12, 13], "order": [2, 3, 4, 7, 9, 13, 15, 17, 30, 31], "ordereddict": 30, "organ": 6, "orgset": 30, "orient": 0, "origin": [3, 7, 12, 22], "orlog": [15, 24], "osi": 31, "osx": 18, "other": [0, 1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 20, 22, 30, 31], "otherwis": [1, 6, 9, 18, 31], "our": [0, 2, 3, 4, 12, 13, 22], "out": [0, 1, 2, 3, 4, 10, 13, 26], "outlin": 0, "output": [0, 4, 12, 17, 20, 26, 30], "over": [2, 9, 12], "overal": 2, "overflow": 10, "overlap": 2, "oversuppli": 3, "overwritten": [2, 9], "own": [2, 9, 10, 16, 17], "p": [1, 4, 12, 13], "p_": 4, "pack": 1, "packag": [4, 7, 9, 12, 16, 20, 31], "page": [2, 7, 10, 18], "pai": 22, "pair": [2, 31], "panda": [14, 26, 27], "param": 31, "paramet": [0, 3, 4, 10, 12, 17, 23, 30, 31], "parcial": 13, "parent": 6, "parenthes": 17, "pars": 12, "parse_object": 31, "parse_statu": 31, "parse_vari": 31, "parser": [15, 24, 31], "part": 30, "particular": [2, 6, 10, 22], "partit": [5, 12, 13, 15], "pass": [0, 6, 7, 9, 10, 12, 13, 17, 20, 31], "patch": 18, "path": [3, 6, 10, 14, 20, 31], "path_to_cbc": 10, "path_to_cplex": 9, "pathlik": 31, "pattern": 17, "patterna": 17, "pc": [9, 10], "pchtsp": [7, 15, 26, 27], "penalti": [3, 11, 20, 30], "penalty_valu": 11, "per": [0, 2, 3, 4, 6, 14, 22], "percent": 0, "percentag": 0, "percentagessum": 0, "perfect": 17, "perform": [0, 13, 17, 31], "period": [4, 22], "permiss": 10, "permit": [6, 9, 12, 13, 27], "person": 22, "peschiera": [13, 15], "phillip": [0, 2, 3, 15], "pi": 12, "pip": [7, 18], "pipe": 6, "pl": 9, "place": [2, 17], "plain": 7, "plan": [5, 15], "planner": 1, "platform": [9, 31], "pleas": [20, 31], "plenti": 9, "plier": 4, "plierearn": 4, "plu": 2, "plugin": 15, "point": [11, 21, 22, 31], "pointer": [6, 10, 31], "popul": 22, "posit": [0, 17, 30], "possibl": [0, 1, 3, 4, 9, 10, 12, 13, 22, 31], "possible_t": [1, 12, 13], "post": 10, "power": 25, "pp": 25, "pr": [7, 10], "practic": 6, "precis": 10, "precompil": 31, "prefer": [2, 9], "prefix": [30, 31], "prepar": 31, "present": [2, 4, 5, 13], "presolv": [26, 31], "previou": [0, 3, 9, 12, 13], "previous": [3, 13, 31], "price": [4, 9, 12, 30], "price_dict": 4, "priceitem": 4, "pricescenario": 4, "primal": 21, "prime": 17, "principl": 17, "print": [0, 1, 2, 4, 9, 13, 17, 25, 30], "prob": [0, 2, 3, 9, 10, 12, 18, 25, 31], "prob1": 12, "probabl": [4, 9], "probe": 31, "problem": [5, 6, 9, 12, 14, 15, 17, 18, 20, 21, 30, 31], "procedur": 9, "process": [15, 19, 21], "produc": [0, 3, 4, 10], "product": [0, 3, 5, 15], "production_var": 4, "profil": 9, "profit": [4, 22], "program": [0, 1, 2, 3, 9, 10, 17, 18, 19, 20], "programm": [3, 17], "progress": 26, "project": [8, 10, 22], "prompt": [17, 20], "properti": [0, 6], "proport": [11, 30], "proportionfreebound": [11, 30], "proportionfreeboundlist": [11, 30], "protein": 0, "proteinperc": 0, "proteinrequir": 0, "provid": [2, 12, 15, 22, 26, 27, 31], "pscenario": 4, "pt": 17, "pub": 3, "pull": [8, 18], "pulp": [0, 1, 2, 4, 5, 8, 10, 13, 14, 17, 19, 22, 24, 27], "pulp_cbc_cmd": [9, 10, 13, 20, 31], "pulp_cbc_path": 31, "pulp_lparrai": [15, 24], "pulperror": [28, 31], "pulpsolvererror": [6, 10, 31], "pulptest": [6, 18, 20], "pulptestal": 20, "punch": 31, "purchas": [3, 4], "purpos": 0, "push": [7, 20], "put": [2, 3, 10, 22], "put_some_alternative_path_her": 9, "puzzl": 25, "py": [0, 1, 2, 3, 4, 6, 7, 9, 17, 20], "pydev": 20, "pyglpk": [9, 20, 31], "pypi": [10, 18], "python": [0, 3, 7, 9, 10, 12, 15, 18, 19, 20, 22, 23, 26, 28, 31], "python3": [7, 9], "python32": 10, "python34": 20, "python64": 10, "python_path": 9, "pythonpath": 9, "pyton": 27, "pytup": [15, 24], "q": [1, 12, 13], "qdbp": 25, "quantifi": 22, "quantiti": 0, "queri": 9, "question": [9, 10], "quick": 7, "quickest": 7, "quit": 9, "quot": 31, "quote_path": 31, "r": [1, 2, 4, 7, 9, 12, 13, 18, 25, 30], "rai": 9, "rais": [6, 30, 31], "random": [9, 31], "rang": [2, 17, 30], "re": [7, 9, 10, 12, 20], "reach": 31, "read": [2, 3, 4, 9, 12, 15, 31], "readabl": 27, "readm": [15, 19], "readsol": [6, 31], "readsol_lp": 31, "readsol_mp": 31, "real": [11, 17, 21], "realist": 3, "realli": [2, 9, 12], "reason": [9, 12, 21], "reasonn": 31, "rebuild": 7, "recent": 10, "recomend": 9, "recommend": [10, 15, 18], "reconstruct": 12, "reduc": [3, 9, 12], "reducedcost": 31, "reelastic": 30, "refer": [0, 3, 4, 17, 31], "referenc": [0, 3], "reflect": [22, 30], "regard": 10, "rel": [22, 31], "relat": [1, 2, 30, 31], "relax": [6, 20], "releas": 31, "relev": [15, 17, 22, 30], "remaind": 17, "remov": [2, 6], "renam": 30, "repeat": [0, 20], "replac": [7, 11], "repo": 7, "report": [6, 10, 18, 20, 26], "repositori": 7, "repres": [0, 2, 4, 17, 30], "represent": 3, "reproduc": 10, "request": [0, 8], "requir": [0, 3, 6, 7, 9, 17, 18, 20, 25], "research": [21, 22], "reset": 30, "reshap": 25, "resolv": [0, 3, 4, 30, 31], "resourc": 4, "respect": [0, 2, 3, 27, 30], "rest": [0, 2, 3], "restart": 31, "restor": 12, "restrict": 22, "restructuredtext": 7, "result": [0, 2, 7, 9, 12, 17], "return": [0, 1, 2, 3, 6, 9, 11, 12, 13, 17, 20, 28, 30, 31], "return_cod": 6, "reus": 13, "revenu": [4, 22], "revis": [21, 22], "rh": [11, 30], "rice": [0, 17], "right": [0, 9, 11], "rigour": 22, "rise": 3, "robust": 22, "roi": 18, "root": [18, 20], "roottim": 26, "round": [10, 17, 30, 31], "roundsolut": 30, "rout": 3, "route_a_2": 3, "route_tupl": 3, "routea1": 3, "routeb5": 3, "row": [2, 26], "rule": 2, "run": [0, 3, 8, 9, 10, 13, 18, 20, 22], "run_test": 7, "runner": 31, "s_w": 3, "safe": 9, "sai": 2, "sake": 9, "sale": 3, "salt": 0, "saltperc": 0, "saltrequir": 0, "same": [0, 2, 3, 9, 10, 12, 13, 17, 22, 30, 31], "satisfi": [2, 3, 7], "save": [3, 7, 12, 31], "scale": 3, "scenario": 4, "schedul": 3, "scip": [9, 18, 31], "scip_cmd": [9, 31], "scip_pi": [9, 31], "scip_status": 31, "scratch": 17, "screen": [0, 2, 4], "script": [1, 20], "search": 31, "seat": [1, 12, 13], "seating_model": [1, 12, 13], "second": [0, 3, 6, 9, 31], "section": [0, 6, 9, 12, 17], "see": [0, 3, 9, 10, 12, 13, 15, 18, 25, 31], "seem": 2, "seen": [0, 6, 10, 12], "self": [6, 12, 17, 28, 30, 31], "send": [3, 7], "sens": [6, 11, 12, 22, 28, 30], "sensedict": 31, "sent": 3, "separ": 0, "sequenc": 17, "seri": 9, "session": [9, 10], "set": [0, 2, 3, 4, 5, 6, 9, 12, 13, 15, 22, 23, 25, 28, 30, 31], "setconfiginform": 31, "setinitialvalu": [13, 30], "setobject": 30, "settmpdir": 31, "setup": [7, 9, 20], "sever": [2, 3, 9, 10, 12, 17, 26], "shadow": [12, 30], "shadowpric": 31, "shall": 3, "share": [10, 31], "she": 3, "shell": 31, "ship": 3, "shipment": 3, "short": [0, 17], "shortcut": 22, "shorten": 27, "should": [0, 2, 3, 7, 9, 20, 22, 31], "show": [0, 3, 7, 9, 17, 31], "shown": [0, 2, 3, 9, 12, 17, 22, 31], "side": [11, 30], "sign": [0, 30], "signific": 0, "significantli": 22, "silent_remov": 31, "similar": [2, 7, 9, 12, 17, 20, 31], "similarli": 3, "simpl": [0, 3, 9, 12, 17, 22], "simplest": 21, "simplex": [21, 22], "simpli": [0, 2, 3, 17], "simplif": 22, "sinc": [0, 2, 3, 9, 10, 21], "singl": 2, "site": [10, 20, 23, 25, 26, 27], "situat": [2, 3, 10, 22], "size": [12, 21], "slack": [10, 20, 31], "slx": 31, "small": [0, 3], "smaller": [1, 2], "smallest": 6, "smart": [15, 24], "so": [0, 2, 3, 4, 7, 9, 10, 12, 13, 15, 17, 22, 30, 31], "softwar": [0, 20, 22], "sol": [6, 9], "sol_cod": 26, "sol_statu": [12, 31], "solfil": 6, "solut": [1, 4, 5, 6, 9, 10, 12, 13, 18, 20, 21, 26, 28, 30, 31], "solution_styl": 31, "solutionn": 31, "solutionstatu": 6, "solv": [0, 1, 2, 3, 4, 6, 9, 12, 13, 14, 15, 18, 20, 21, 25, 28, 30, 31], "solve_cbc": 31, "solveinst": 6, "solver": [0, 2, 4, 7, 8, 10, 14, 15, 18, 20, 21, 22, 26, 28, 29, 30], "solver_dict": 9, "solver_list": 9, "solverconstraint": 31, "solverdir": 31, "solvermodel": [6, 9, 31], "solvervar": 31, "some": [6, 7, 9, 10, 11, 12, 13, 17, 21, 30, 31], "some_file_nam": 9, "some_modified_fil": 7, "some_mst_fil": 9, "someon": [0, 31], "someth": [9, 10, 28], "sometim": [3, 9, 10, 22], "somewher": [3, 9], "sorri": 9, "sort": [22, 30], "sorted_kei": 30, "sos1": 12, "sos2": 12, "sourc": [3, 8, 31], "sovler": 18, "special": [10, 25], "specif": [0, 4, 10, 17, 23, 30], "specifi": [0, 1, 2, 3, 4, 11, 12, 13, 17, 21, 30, 31], "spend": 22, "sphinx": [7, 18], "split": [1, 6, 12, 13], "spongerol": 17, "squar": [0, 2, 17], "stack": 10, "stackoverflow": 10, "stage": [5, 15], "stakehold": 22, "stall": 31, "stand": 20, "standard": [0, 6, 12, 26], "start": [0, 2, 3, 14, 15, 17, 20, 22, 31], "state": [0, 1, 12, 13], "statement": [0, 2, 3, 23], "static": 31, "statu": [0, 2, 4, 6, 7, 9, 12, 18, 26, 28, 30, 31], "status_cod": 26, "status_sol": 6, "stderr": 6, "stdout": 6, "steel": 4, "steel_dict": 4, "steelpric": 4, "steelpurchas": 4, "step": [0, 7, 9, 11, 17, 22], "still": [0, 1, 2, 3, 12], "stock": 3, "stop": [17, 31], "store": [3, 6, 9, 12, 17], "str": [2, 4, 30, 31], "strateg": 22, "strategi": 31, "strict": 12, "strictli": 2, "string": [0, 17, 28, 30, 31], "string_append": 17, "stringov": 17, "strong": 31, "structur": [3, 6, 9, 12, 17, 23], "stuart": [0, 1, 2, 3, 13, 15, 18, 31], "studi": [1, 4, 15], "stuff": 0, "style": 7, "sub": 3, "subclass": 11, "subject": [4, 12], "sublist": 4, "submit": [7, 10], "subproblem": 30, "subprocess": [6, 31], "subsequ": 22, "subset": [1, 23, 30], "substitut": 3, "subtract": [20, 30], "success": [2, 30, 31], "successfulli": [0, 7], "sudden": 2, "sudermann": 2, "sudo": [9, 18, 20], "sudoku": [5, 15, 25], "sudoku1": 2, "sudoku2": 2, "sudokuout": 2, "suffici": 10, "suffix": 31, "suggest": [0, 18, 22], "suit": [8, 31], "suitabl": [20, 30, 31], "sullivan": [3, 15], "sum": [0, 2, 3, 17, 25, 30], "sum_": [3, 4, 30], "sum_of_products_into_bar": 3, "sum_of_products_out_of_warehouse_": 3, "sum_of_transporting_cost": 3, "summar": 9, "summari": [3, 7, 22], "summat": 4, "super": 12, "superdict": 27, "supersudoku": 25, "suppli": 3, "support": [10, 14, 17, 23, 25, 26, 30, 31], "suppos": 3, "sure": [0, 3, 7, 9, 20, 22], "swap": 6, "symbol": [17, 28], "symmetr": 11, "syntax": 23, "system": [6, 7, 9, 10, 18], "t": [2, 3, 4, 21, 22], "tabl": [0, 1, 2, 3, 12, 13], "table_": 12, "tactic": 22, "tag": 10, "tail": 17, "take": [0, 2, 3, 6, 10, 12, 22, 31], "taken": [4, 10, 12, 13], "talk": [3, 9, 22], "target": [11, 30], "tb": 28, "tcl": 31, "team": 15, "techniqu": 22, "tell": [3, 9], "temp": 9, "temporari": [14, 31], "term": [22, 30], "termin": 18, "test": [0, 8, 12, 18, 19, 26, 31], "test_export_dict_mip": 12, "test_pulp": [6, 7], "testlist": 17, "text": [0, 2, 9, 10, 31], "textbf": 0, "textsf": 30, "than": [0, 2, 3, 6, 9], "thei": [0, 3, 6, 9, 17, 18, 21, 22, 27], "them": [0, 2, 3, 9, 10, 12, 17, 18], "therefor": 2, "thi": [0, 1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 15, 17, 20, 22, 28, 30, 31], "thing": [6, 9, 10, 31], "third": [0, 2], "those": [2, 3, 4, 9, 13], "though": [1, 12], "thread": 31, "three": 30, "through": [0, 3, 7, 17, 20, 22], "throughout": 17, "thu": [0, 2, 10], "tidi": 22, "time": [0, 2, 3, 6, 7, 12, 20, 21, 22, 26, 31], "timelimit": [6, 9, 31], "timemod": 31, "titl": 4, "tmp": [9, 31], "tmpdir": [9, 31], "tmpmp": 6, "tmpsol": 6, "to_dict": [12, 30, 31], "to_json": [12, 31], "to_str": 31, "todict": [9, 30, 31], "togeth": 17, "tojson": [9, 30, 31], "told": 17, "toler": 31, "tolist": 12, "ton": 27, "too": [12, 22], "tool": [4, 31], "top": [7, 17, 31], "topic": 15, "total": [0, 1, 3, 4, 13, 22, 31], "totalcost": 3, "totalrolllength": 17, "trace": 9, "transform": [12, 27], "translat": [22, 31], "transport": [5, 15], "tree": 31, "trick": 25, "trim": 17, "trimvalu": 17, "truck": 3, "true": [2, 6, 9, 10, 13, 17, 21, 30, 31], "try": [0, 2, 6, 9, 14, 17], "tupl": [1, 2, 3, 12, 13, 15, 24, 30, 31], "tuplist": 27, "turn": [3, 13, 17], "tweak": 31, "two": [0, 3, 5, 6, 7, 9, 10, 11, 12, 13, 15, 18, 27], "two_stage_stochastic_gemstonetool": 4, "txt": [2, 7, 18], "type": [0, 11, 14, 19, 20, 21, 25, 30, 31], "typeerror": 31, "typic": [9, 22], "u": [0, 3, 18], "ub": 25, "ub_p": 4, "ub_w": 4, "ujson": [9, 12], "unavail": 20, "unbalanc": 3, "unbound": [0, 20, 28, 31], "uncertainti": [4, 22], "unchang": 20, "uncl": 0, "unconstrain": 25, "undefin": [0, 28], "under": [17, 22, 25], "understand": [10, 17, 22], "understood": 22, "undetermin": 30, "undo": 6, "unfortun": 12, "uniqu": [2, 12, 31], "unit": [0, 3, 4, 22], "unknown": [4, 17, 31], "unlik": 17, "unsaf": 31, "until": [9, 17], "up": [0, 3, 12, 17, 22, 30], "upbound": [0, 1, 12, 13, 30], "updat": [3, 17, 22], "upper": [0, 3, 30], "upperbound": 13, "us": [0, 1, 2, 3, 4, 6, 7, 10, 12, 13, 14, 15, 17, 18, 20, 21, 22, 25, 26, 27, 30, 31], "usabl": [17, 31], "use_mp": 31, "user": [2, 9, 10, 15, 17, 31], "usernam": 7, "usual": [0, 3, 4, 6, 9, 10, 13, 22], "util": 20, "uuid": 31, "uuid4": 31, "v": [0, 2, 4, 10, 13, 31], "val": [2, 30], "valid": [13, 22], "valu": [0, 1, 2, 3, 4, 6, 9, 10, 11, 12, 14, 17, 18, 21, 22, 25, 28, 30, 31], "valueerror": 30, "var": [3, 31], "var1": 12, "vari": [0, 9, 30], "variabl": [1, 4, 6, 10, 14, 17, 18, 20, 21, 22, 25, 26, 31], "variablesnam": 31, "variou": 22, "varvalu": [0, 4, 12, 30], "ve": [9, 13, 30], "vector": [4, 30], "venv": 7, "veri": [0, 2, 3, 7, 9, 10, 12, 21, 27], "versa": 27, "version": [7, 9, 10, 13, 18, 20, 26, 31], "via": [9, 10, 13, 18, 21, 22, 31], "vice": 27, "video": 10, "violat": 30, "virtual": [7, 18], "vitamin": 0, "w": [2, 3, 4, 6], "w_": 4, "wa": [2, 3, 9, 10, 17, 30, 31], "wai": [0, 1, 2, 3, 6, 7, 9, 10, 12, 17, 18, 20, 21, 22], "wall": 31, "want": [0, 7, 9, 10, 13, 18, 22], "warehous": 3, "warm": [14, 15, 31], "warmstart": [9, 13, 30, 31], "warn": 6, "wast": 2, "water": 17, "we": [0, 1, 2, 3, 4, 6, 7, 9, 12, 13, 15, 18, 21, 22, 30], "websit": 17, "wed": [1, 13], "wedding_model": 12, "wedding_seating_model": 12, "wedding_var": 12, "week": [3, 22], "weight": 0, "welcom": 18, "well": [2, 6, 17, 22, 31], "were": [0, 2, 3, 17], "what": [0, 7, 10, 14, 17, 20, 22], "whatev": 9, "wheat": 0, "when": [0, 2, 3, 6, 7, 9, 10, 12, 13, 17, 31], "where": [2, 3, 11, 13, 14, 20, 21, 30, 31], "wherea": [2, 17], "wherebi": 17, "whether": [2, 31], "which": [0, 2, 3, 4, 7, 11, 14, 17, 18, 21, 22, 30, 31], "while": [0, 2, 4, 6, 13, 14, 21], "whilst": [0, 2, 3], "whiska": [0, 3], "whiskasmodel": 0, "whiskasmodel1": 0, "whiskasmodel2": 0, "who": 22, "whole": [0, 3, 7, 14, 26], "why": 22, "wide": 25, "wikipedia": [2, 17], "wil": 7, "willu47": [16, 23], "window": [7, 9, 18], "wise": 18, "wish": [0, 1], "with_objsens": 30, "with_traceback": 28, "within": [2, 4, 22], "without": [1, 17, 27, 30], "won": 21, "word": 17, "work": [9, 10, 12, 13, 17, 20, 22, 31], "would": [0, 1, 2, 3, 4, 9, 13, 17, 20, 22, 31], "wrap": 31, "wrench": 4, "wrenchearn": 4, "write": [0, 2, 7, 14, 17, 20, 30, 31], "writelp": [0, 2, 3, 4, 10, 11, 30], "writemp": [6, 10, 12, 30], "writemst": 31, "writeslxsol": 31, "writeso": 30, "writesol": 31, "written": [0, 2, 4, 9, 11, 12, 18, 20, 31], "www": 31, "x": [0, 1, 9, 11, 12, 13, 15, 17, 18, 24, 26, 30, 31], "x1": [0, 18], "x2": [0, 18], "x64_win64": 9, "x86": 9, "x_": 3, "x_0": 30, "x_1": [0, 21, 30], "x_2": [0, 21, 30], "x_3": [0, 21], "x_4": 0, "x_5": 0, "x_6": 0, "x_i": [21, 30], "x_n": 21, "x_name": 30, "xn": 18, "xpress": [9, 13, 18, 20, 31], "xpress_cmd": 31, "xpress_pi": [9, 13, 31], "y": [12, 18, 25, 30], "yaposib": [20, 31], "year": 10, "yet": 13, "you": [0, 2, 3, 7, 9, 10, 12, 13, 15, 17, 18, 20, 21, 22, 23, 31], "your": [0, 3, 6, 7, 9, 10, 17, 18, 19, 21, 22, 25, 31], "yourself": 0, "z": [3, 12], "zero": [0, 1, 3, 17, 20, 30], "zip": [4, 17], "zipfil": 20, "\u00e0": 27}, "titles": ["A Blending Problem", "A Set Partitioning Problem", "A Sudoku Problem formulated as an LP", "A Transportation Problem", "A Two Stage Production Planning Problem", "Case Studies", "How to add a new solver to PuLP", "How to contribute to PuLP", "Developer Guides", "How to configure a solver in PuLP", "How to debug most errors during solving", "Elastic Constraints", "How to import and export models in PuLP", "How to warm-start a solver", "User Guides", "Optimization with PuLP", "Amply", "Basic Python Coding", "pulp", "Main Topics", "Installing PuLP at Home", "Optimisation Concepts", "The Optimisation Process", "amply: AMPL data manipulation", "Plugins", "PuLP_LPARRAY: PuLP x NumPy, a match made in heaven", "orloge: OR logs parser", "pytups: smart dictionaries and tuple lists", "pulp.constants", "PuLP Internal Documentation", "pulp: Pulp classes", "pulp.apis Interface to Solvers"], "titleterms": {"1": 12, "2": 12, "A": [0, 1, 2, 3, 4], "In": 3, "OR": 26, "The": [0, 17, 22, 30], "access": 9, "activ": 13, "actualsolv": 6, "ad": 6, "add": 6, "addit": 9, "ampl": 23, "ampli": [16, 23], "an": [2, 9], "anaconda": 10, "analysi": [3, 22], "api": [6, 9, 13, 31], "appli": 7, "arrai": 17, "ask": 10, "author": 15, "avail": 6, "base": 6, "basic": 17, "black": 7, "blend": 0, "bui": 3, "build": [7, 18], "case": 5, "caveat": 12, "cbc": 10, "check": 9, "class": [6, 17, 30], "clone": 7, "cmd": 9, "code": 17, "combin": 30, "comment": 17, "comprehens": 17, "concept": 21, "conda": 10, "configur": 9, "consider": 12, "constant": 28, "constraint": [0, 2, 3, 11, 30], "contribut": 7, "cplex": 9, "cplex_pi": 9, "creat": 7, "data": [12, 23], "debug": 10, "decis": [0, 2, 3], "defaultpath": 6, "descript": [0, 2, 3, 22], "develop": 8, "dictionari": [17, 27], "document": [7, 18, 29], "dure": 10, "elast": 11, "environ": 9, "error": 10, "ex": 10, "exampl": [6, 12, 13, 18], "execut": 10, "expert": 2, "export": [9, 12], "express": 30, "extens": 3, "extra": [2, 6], "featur": 17, "feedback": 10, "file": 9, "fill": 13, "fix": 13, "fork": 7, "formatt": 7, "formul": [0, 2, 3, 22], "from": [7, 20], "full": 0, "function": [0, 2, 3, 9, 17], "get": 22, "give": 10, "group": 12, "guid": [8, 14], "gurobi": 9, "ha": 9, "heaven": 25, "help": 10, "home": 20, "how": [6, 7, 9, 10, 12, 13], "i": 9, "identifi": [0, 2, 3], "import": [9, 12, 17], "includ": 6, "infeas": 10, "inherit": 6, "instal": [7, 9, 18, 20], "integ": 21, "integr": 9, "interfac": 31, "intern": 29, "issu": 10, "json": 12, "jupyt": 10, "languag": 17, "linear": 21, "linter": 7, "linux": 20, "list": [17, 27], "log": 26, "loop": 17, "lp": 2, "lpproblem": 30, "made": 25, "main": 19, "make": [6, 7], "manipul": 23, "match": 25, "mathemat": 22, "method": 6, "mip": 13, "model": [3, 12, 22], "monitor": 3, "most": 10, "mp": 12, "new": 6, "note": 17, "notebook": 10, "numpi": [12, 25], "object": [0, 2, 3], "offici": [6, 9], "ongo": 3, "optim": [15, 22], "optimis": [21, 22], "orlog": 26, "other": 17, "panda": 12, "parser": 26, "partit": 1, "path": 9, "per": 9, "perform": 22, "permut": 30, "pip": 20, "plan": 4, "plugin": 24, "post": 22, "present": [3, 22], "problem": [0, 1, 2, 3, 4, 10, 13, 22], "process": 22, "product": 4, "program": [21, 22], "project": 7, "pull": 7, "pulp": [3, 6, 7, 9, 12, 15, 18, 20, 25, 28, 29, 30, 31], "pulp_lparrai": 25, "pypi": 20, "python": 17, "pytup": 27, "request": 7, "run": 7, "set": 1, "simplifi": 0, "smart": 27, "solut": [0, 2, 3, 22], "solv": [10, 22], "solver": [6, 9, 13, 31], "some": 22, "sourc": [7, 20], "specif": 9, "stage": 4, "start": 13, "statement": 17, "storag": 3, "studi": 5, "sudoku": 2, "suit": 6, "support": 13, "syntax": 17, "temporari": 9, "test": [6, 7, 20], "todo": 30, "topic": 19, "transport": 3, "try": 10, "tupl": [17, 27], "two": 4, "type": [9, 12, 17], "us": 9, "user": 14, "valid": 3, "valu": 13, "variabl": [0, 2, 3, 9, 12, 13, 30], "warm": 13, "what": 9, "where": 9, "which": 9, "while": [10, 17], "whole": 13, "window": 20, "write": 9, "x": 25, "your": 20}}) \ No newline at end of file +Search.setIndex({"alltitles": {"A Blending Problem": [[0, null]], "A Set Partitioning Problem": [[1, null]], "A Sudoku Problem formulated as an LP": [[2, null]], "A Transportation Problem": [[3, null]], "A Two Stage Production Planning Problem": [[4, null]], "Activating MIP start": [[13, "activating-mip-start"]], "Additional environment variables per solver": [[9, "additional-environment-variables-per-solver"]], "Amply": [[16, null]], "Applying the black linter / formatter": [[7, "applying-the-black-linter-formatter"]], "Array types in python": [[17, "array-types-in-python"]], "Authors": [[15, "authors"]], "Basic Python Coding": [[17, null]], "Building the documentation": [[7, "building-the-documentation"], [18, "building-the-documentation"]], "CPLEX": [[9, "cplex"]], "Case Studies": [[5, null]], "Caveats with json and pandas / numpy data types": [[12, "caveats-with-json-and-pandas-numpy-data-types"]], "Checking which solvers PuLP has access to": [[9, "checking-which-solvers-pulp-has-access-to"]], "Classes": [[17, "classes"]], "Cloning the project": [[7, "cloning-the-project"]], "Combinations and Permutations": [[30, "combinations-and-permutations"]], "Commenting in Python": [[17, "commenting-in-python"]], "Configuring the path to the solver": [[9, "configuring-the-path-to-the-solver"]], "Configuring where the CMD solvers write their temporary files": [[9, "configuring-where-the-cmd-solvers-write-their-temporary-files"]], "Considerations": [[12, "considerations"]], "Constraints": [[30, "constraints"]], "Contributing to PuLP": [[18, "contributing-to-pulp"]], "Copyright and License": [[18, "copyright-and-license"]], "Creating a test": [[7, "creating-a-test"]], "Developer Guides": [[8, null]], "Dictionaries": [[17, "dictionaries"]], "Elastic Constraints": [[11, null]], "Error while trying to execute cbc.exe": [[10, "error-while-trying-to-execute-cbc-exe"]], "Essential Classes": [[18, "essential-classes"]], "Example": [[6, "example"]], "Example 1: json": [[12, "example-1-json"]], "Example 1: mps": [[12, "example-1-mps"]], "Example 2: json": [[12, "example-2-json"]], "Example problem": [[13, "example-problem"]], "Extensions": [[3, "extensions"]], "Extra for Experts": [[2, "extra-for-experts"]], "Extra: adding a official solver API": [[6, "extra-adding-a-official-solver-api"]], "Filling a variable with a value": [[13, "filling-a-variable-with-a-value"]], "Fixing a variable": [[13, "fixing-a-variable"]], "For Developers": [[18, "for-developers"]], "Forking PuLP": [[7, "forking-pulp"]], "Formulate the Constraints": [[2, "formulate-the-constraints"], [3, "formulate-the-constraints"]], "Formulate the Objective Function": [[0, "formulate-the-objective-function"], [2, "formulate-the-objective-function"], [3, "formulate-the-objective-function"]], "Formulating the mathematical program": [[22, "formulating-the-mathematical-program"]], "Formulation": [[2, "formulation"], [3, "formulation"]], "Full Formulation": [[0, "full-formulation"]], "Functions": [[17, "functions"]], "GUROBI": [[9, "gurobi"]], "Getting the Problem Description": [[22, "getting-the-problem-description"]], "Giving feedback and asking for help": [[10, "giving-feedback-and-asking-for-help"]], "Grouping variables": [[12, "grouping-variables"]], "How to add a new solver to PuLP": [[6, null]], "How to configure a solver in PuLP": [[9, null]], "How to contribute to PuLP": [[7, null]], "How to debug most errors during solving": [[10, null]], "How to import and export models in PuLP": [[12, null]], "How to warm-start a solver": [[13, null]], "Identify the Decision Variables": [[0, "identify-the-decision-variables"], [2, "identify-the-decision-variables"], [3, "identify-the-decision-variables"]], "Import Statement": [[17, "import-statement"]], "Importing and exporting a solver": [[9, "importing-and-exporting-a-solver"]], "Including the solver in tests suite": [[6, "including-the-solver-in-tests-suite"]], "Infeasible problems": [[10, "infeasible-problems"]], "Inheriting base classes": [[6, "inheriting-base-classes"]], "Installation": [[18, "installation"], [20, "id1"]], "Installing CPLEX_PY": [[9, "installing-cplex-py"]], "Installing GUROBI": [[9, "installing-gurobi"]], "Installing PuLP at Home": [[20, null]], "Installing from source": [[7, "installing-from-source"]], "Integer Programing": [[21, "integer-programing"]], "Jupyter notebooks / anaconda / conda issues": [[10, "jupyter-notebooks-anaconda-conda-issues"]], "Linear Programing": [[21, "linear-programing"]], "Linux Installation": [[20, "linux-installation"]], "List Comprehensions": [[17, "list-comprehensions"]], "List/Tuple/Dictionary Syntax Note": [[17, "list-tuple-dictionary-syntax-note"]], "Lists": [[17, "lists"]], "Loops in Python": [[17, "loops-in-python"]], "Main Topics": [[19, null]], "Making a Pull Request": [[7, "making-a-pull-request"]], "Making the solver available to PuLP": [[6, "making-the-solver-available-to-pulp"]], "More Examples": [[18, "more-examples"]], "Ongoing Monitoring": [[3, "ongoing-monitoring"]], "Optimisation Concepts": [[21, null]], "Optimization with PuLP": [[15, null]], "Other important language features": [[17, "other-important-language-features"]], "Performing some post-optimal analysis": [[22, "performing-some-post-optimal-analysis"]], "Pip and pypi installation": [[20, "pip-and-pypi-installation"]], "Plugins": [[24, null]], "Presentation of Solution and Analysis": [[3, "presentation-of-solution-and-analysis"]], "Presenting the solution and analysis": [[22, "presenting-the-solution-and-analysis"]], "Problem Description": [[0, "problem-description"], [2, "problem-description"], [3, "problem-description"]], "PuLP Internal Documentation": [[29, null]], "PuLP Model": [[3, "pulp-model"]], "PuLP_LPARRAY: PuLP x NumPy, a match made in heaven": [[25, null]], "Quickstart": [[18, "quickstart"]], "Running tests": [[7, "running-tests"]], "Simplified Formulation": [[0, "simplified-formulation"]], "Solution": [[2, "solution"]], "Solution to Full Problem": [[0, "solution-to-full-problem"]], "Solution to Simplified Problem": [[0, "solution-to-simplified-problem"]], "Solving the mathematical program": [[22, "solving-the-mathematical-program"]], "Storage and \u201cBuying In\u201d": [[3, "storage-and-buying-in"]], "Supported solver APIs": [[13, "supported-solver-apis"]], "Testing your PuLP installation": [[20, "testing-your-pulp-installation"]], "The Constraints": [[0, "the-constraints"]], "The LpProblem Class": [[30, "the-lpproblem-class"]], "The Modeling Process": [[22, "the-modeling-process"]], "The Optimisation Process": [[22, null]], "The if statement": [[17, "the-if-statement"]], "Todo": [[30, "id1"]], "Tuples": [[17, "tuples"]], "Types of PuLP integrations (API) to solvers": [[9, "types-of-pulp-integrations-api-to-solvers"]], "Useful Functions": [[18, "useful-functions"]], "User Guides": [[14, null]], "Using solver-specific functionality": [[9, "using-solver-specific-functionality"]], "Using the official solver API": [[9, "using-the-official-solver-api"]], "Validation": [[3, "validation"]], "Variables and Expressions": [[30, "variables-and-expressions"]], "What is an environment variable": [[9, "what-is-an-environment-variable"]], "Whole Example": [[13, "whole-example"]], "Windows installation from source": [[20, "windows-installation-from-source"]], "actualSolve method": [[6, "actualsolve-method"]], "amply: AMPL data manipulation": [[23, null]], "available method": [[6, "available-method"]], "defaultPath method": [[6, "defaultpath-method"]], "for Loop": [[17, "for-loop"]], "orloge: OR logs parser": [[26, null]], "pulp": [[18, null]], "pulp.apis Interface to Solvers": [[31, null]], "pulp.constants": [[28, null]], "pulp: Pulp classes": [[30, null]], "pytups: smart dictionaries and tuple lists": [[27, null]], "while Loop": [[17, "while-loop"]]}, "docnames": ["CaseStudies/a_blending_problem", "CaseStudies/a_set_partitioning_problem", "CaseStudies/a_sudoku_problem", "CaseStudies/a_transportation_problem", "CaseStudies/a_two_stage_production_planning_problem", "CaseStudies/index", "develop/add_solver", "develop/contribute", "develop/index", "guides/how_to_configure_solvers", "guides/how_to_debug", "guides/how_to_elastic_constraints", "guides/how_to_export_models", "guides/how_to_mip_start", "guides/index", "index", "main/amply", "main/basic_python_coding", "main/includeme", "main/index", "main/installing_pulp_at_home", "main/optimisation_concepts", "main/the_optimisation_process", "plugins/amply", "plugins/index", "plugins/lparray", "plugins/orloge", "plugins/pytups", "technical/constants", "technical/index", "technical/pulp", "technical/solvers"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["CaseStudies/a_blending_problem.rst", "CaseStudies/a_set_partitioning_problem.rst", "CaseStudies/a_sudoku_problem.rst", "CaseStudies/a_transportation_problem.rst", "CaseStudies/a_two_stage_production_planning_problem.rst", "CaseStudies/index.rst", "develop/add_solver.rst", "develop/contribute.rst", "develop/index.rst", "guides/how_to_configure_solvers.rst", "guides/how_to_debug.rst", "guides/how_to_elastic_constraints.rst", "guides/how_to_export_models.rst", "guides/how_to_mip_start.rst", "guides/index.rst", "index.rst", "main/amply.rst", "main/basic_python_coding.rst", "main/includeme.rst", "main/index.rst", "main/installing_pulp_at_home.rst", "main/optimisation_concepts.rst", "main/the_optimisation_process.rst", "plugins/amply.rst", "plugins/index.rst", "plugins/lparray.rst", "plugins/orloge.rst", "plugins/pytups.rst", "technical/constants.rst", "technical/index.rst", "technical/pulp.rst", "technical/solvers.rst"], "indexentries": {"actualresolve() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.actualResolve", false]], "actualresolve() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.actualResolve", false]], "actualsolve() (pulp.apis.choco_cmd method)": [[31, "pulp.apis.CHOCO_CMD.actualSolve", false]], "actualsolve() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.actualSolve", false]], "actualsolve() (pulp.apis.coinmp_dll method)": [[31, "pulp.apis.COINMP_DLL.actualSolve", false]], "actualsolve() (pulp.apis.copt method)": [[31, "pulp.apis.COPT.actualSolve", false]], "actualsolve() (pulp.apis.copt_cmd method)": [[31, "pulp.apis.COPT_CMD.actualSolve", false]], "actualsolve() (pulp.apis.copt_dll method)": [[31, "pulp.apis.COPT_DLL.actualSolve", false]], "actualsolve() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.actualSolve", false]], "actualsolve() (pulp.apis.cplex_py method)": [[31, "pulp.apis.CPLEX_PY.actualSolve", false]], "actualsolve() (pulp.apis.fscip_cmd method)": [[31, "pulp.apis.FSCIP_CMD.actualSolve", false]], "actualsolve() (pulp.apis.glpk_cmd method)": [[31, "pulp.apis.GLPK_CMD.actualSolve", false]], "actualsolve() (pulp.apis.gurobi method)": [[31, "pulp.apis.GUROBI.actualSolve", false]], "actualsolve() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.actualSolve", false]], "actualsolve() (pulp.apis.highs method)": [[31, "pulp.apis.HiGHS.actualSolve", false]], "actualsolve() (pulp.apis.highs_cmd method)": [[31, "pulp.apis.HiGHS_CMD.actualSolve", false]], "actualsolve() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.actualSolve", false]], "actualsolve() (pulp.apis.mipcl_cmd method)": [[31, "pulp.apis.MIPCL_CMD.actualSolve", false]], "actualsolve() (pulp.apis.mosek method)": [[31, "pulp.apis.MOSEK.actualSolve", false]], "actualsolve() (pulp.apis.pyglpk method)": [[31, "pulp.apis.PYGLPK.actualSolve", false]], "actualsolve() (pulp.apis.scip_cmd method)": [[31, "pulp.apis.SCIP_CMD.actualSolve", false]], "actualsolve() (pulp.apis.scip_py method)": [[31, "pulp.apis.SCIP_PY.actualSolve", false]], "actualsolve() (pulp.apis.xpress method)": [[31, "pulp.apis.XPRESS.actualSolve", false]], "actualsolve() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.actualSolve", false]], "actualsolve() (pulp.apis.yaposib method)": [[31, "pulp.apis.YAPOSIB.actualSolve", false]], "addinplace() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.addInPlace", false]], "addinplace() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.addInPlace", false]], "addvariabletoconstraints() (pulp.lpvariable method)": [[30, "pulp.LpVariable.addVariableToConstraints", false]], "allcombinations() (in module pulp)": [[30, "pulp.allcombinations", false]], "allpermutations() (in module pulp)": [[30, "pulp.allpermutations", false]], "altername() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.alterName", false]], "args (pulp.constants.pulperror attribute)": [[28, "pulp.constants.PulpError.args", false]], "ascplexlpaffineexpression() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.asCplexLpAffineExpression", false]], "ascplexlpconstraint() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.asCplexLpConstraint", false]], "ascplexvariablesonly() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.asCplexVariablesOnly", false]], "available() (pulp.apis.choco_cmd method)": [[31, "pulp.apis.CHOCO_CMD.available", false]], "available() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.available", false]], "available() (pulp.apis.coinmp_dll class method)": [[31, "pulp.apis.COINMP_DLL.available", false]], "available() (pulp.apis.copt method)": [[31, "pulp.apis.COPT.available", false]], "available() (pulp.apis.copt_cmd method)": [[31, "pulp.apis.COPT_CMD.available", false]], "available() (pulp.apis.copt_dll method)": [[31, "pulp.apis.COPT_DLL.available", false]], "available() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.available", false]], "available() (pulp.apis.cplex_py method)": [[31, "pulp.apis.CPLEX_PY.available", false]], "available() (pulp.apis.fscip_cmd method)": [[31, "pulp.apis.FSCIP_CMD.available", false]], "available() (pulp.apis.glpk_cmd method)": [[31, "pulp.apis.GLPK_CMD.available", false]], "available() (pulp.apis.gurobi method)": [[31, "pulp.apis.GUROBI.available", false]], "available() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.available", false]], "available() (pulp.apis.highs method)": [[31, "pulp.apis.HiGHS.available", false]], "available() (pulp.apis.highs_cmd method)": [[31, "pulp.apis.HiGHS_CMD.available", false]], "available() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.available", false]], "available() (pulp.apis.mipcl_cmd method)": [[31, "pulp.apis.MIPCL_CMD.available", false]], "available() (pulp.apis.mosek method)": [[31, "pulp.apis.MOSEK.available", false]], "available() (pulp.apis.pyglpk method)": [[31, "pulp.apis.PYGLPK.available", false]], "available() (pulp.apis.scip_cmd method)": [[31, "pulp.apis.SCIP_CMD.available", false]], "available() (pulp.apis.scip_py method)": [[31, "pulp.apis.SCIP_PY.available", false]], "available() (pulp.apis.xpress method)": [[31, "pulp.apis.XPRESS.available", false]], "available() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.available", false]], "available() (pulp.apis.yaposib method)": [[31, "pulp.apis.YAPOSIB.available", false]], "buildsolvermodel() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.buildSolverModel", false]], "byref() (in module pulp.apis)": [[31, "pulp.apis.byref", false]], "callsolver() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.callSolver", false]], "changerhs() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.changeRHS", false]], "choco_cmd (class in pulp.apis)": [[31, "pulp.apis.CHOCO_CMD", false]], "clock() (in module pulp.apis)": [[31, "pulp.apis.clock", false]], "coin (in module pulp.apis)": [[31, "pulp.apis.COIN", false]], "coin_cmd (class in pulp.apis)": [[31, "pulp.apis.COIN_CMD", false]], "coinmp_dll (class in pulp.apis)": [[31, "pulp.apis.COINMP_DLL", false]], "coinmp_dll_load_dll() (in module pulp.apis)": [[31, "pulp.apis.COINMP_DLL_load_dll", false]], "combination() (in module pulp)": [[30, "pulp.combination", false]], "configsolvers() (in module pulp.apis)": [[31, "pulp.apis.configSolvers", false]], "constraints (pulp.lpproblem attribute)": [[30, "pulp.LpProblem.constraints", false]], "copt (class in pulp.apis)": [[31, "pulp.apis.COPT", false]], "copt_cmd (class in pulp.apis)": [[31, "pulp.apis.COPT_CMD", false]], "copt_dll (class in pulp.apis)": [[31, "pulp.apis.COPT_DLL", false]], "copt_dll_loadlib() (in module pulp.apis)": [[31, "pulp.apis.COPT_DLL_loadlib", false]], "coptstr() (in module pulp.apis)": [[31, "pulp.apis.coptstr", false]], "copy() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.copy", false]], "copy() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.copy", false]], "copy() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.copy", false]], "copy() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.copy", false]], "copy() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.copy", false]], "cplex (in module pulp.apis)": [[31, "pulp.apis.CPLEX", false]], "cplex_cmd (class in pulp.apis)": [[31, "pulp.apis.CPLEX_CMD", false]], "cplex_py (class in pulp.apis)": [[31, "pulp.apis.CPLEX_PY", false]], "create_tmp_files() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.create_tmp_files", false]], "ctypesarrayfill() (in module pulp.apis)": [[31, "pulp.apis.ctypesArrayFill", false]], "deelasticize() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.deElasticize", false]], "defaultpath() (pulp.apis.choco_cmd method)": [[31, "pulp.apis.CHOCO_CMD.defaultPath", false]], "defaultpath() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.defaultPath", false]], "defaultpath() (pulp.apis.copt_cmd method)": [[31, "pulp.apis.COPT_CMD.defaultPath", false]], "defaultpath() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.defaultPath", false]], "defaultpath() (pulp.apis.fscip_cmd method)": [[31, "pulp.apis.FSCIP_CMD.defaultPath", false]], "defaultpath() (pulp.apis.glpk_cmd method)": [[31, "pulp.apis.GLPK_CMD.defaultPath", false]], "defaultpath() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.defaultPath", false]], "defaultpath() (pulp.apis.highs_cmd method)": [[31, "pulp.apis.HiGHS_CMD.defaultPath", false]], "defaultpath() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.defaultPath", false]], "defaultpath() (pulp.apis.mipcl_cmd method)": [[31, "pulp.apis.MIPCL_CMD.defaultPath", false]], "defaultpath() (pulp.apis.scip_cmd method)": [[31, "pulp.apis.SCIP_CMD.defaultPath", false]], "defaultpath() (pulp.apis.xpress method)": [[31, "pulp.apis.XPRESS.defaultPath", false]], "delete_tmp_files() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.delete_tmp_files", false]], "dicts() (pulp.lpvariable class method)": [[30, "pulp.LpVariable.dicts", false]], "env (pulp.apis.gurobi attribute)": [[31, "pulp.apis.GUROBI.env", false]], "err (pulp.apis.copt_dll attribute)": [[31, "pulp.apis.COPT_DLL.err", false]], "err (pulp.apis.cplex_py attribute)": [[31, "pulp.apis.CPLEX_PY.err", false]], "executable() (pulp.apis.lpsolver_cmd static method)": [[31, "pulp.apis.LpSolver_CMD.executable", false]], "executableextension() (pulp.apis.lpsolver_cmd static method)": [[31, "pulp.apis.LpSolver_CMD.executableExtension", false]], "finddifferencefromrhs() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.findDifferenceFromRHS", false]], "findlhsvalue() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.findLHSValue", false]], "findsolutionvalues() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.findSolutionValues", false]], "fixedelasticsubproblem (class in pulp)": [[30, "pulp.FixedElasticSubProblem", false]], "fixvalue() (pulp.lpvariable method)": [[30, "pulp.LpVariable.fixValue", false]], "from_dict() (pulp.lpconstraint class method)": [[30, "pulp.LpConstraint.from_dict", false]], "from_dict() (pulp.lpvariable class method)": [[30, "pulp.LpVariable.from_dict", false]], "fromdict() (pulp.lpconstraint class method)": [[30, "pulp.LpConstraint.fromDict", false]], "fromdict() (pulp.lpvariable class method)": [[30, "pulp.LpVariable.fromDict", false]], "fromjson() (pulp.lpproblem class method)": [[30, "pulp.LpProblem.fromJson", false]], "fscip (in module pulp.apis)": [[31, "pulp.apis.FSCIP", false]], "fscip_cmd (class in pulp.apis)": [[31, "pulp.apis.FSCIP_CMD", false]], "fscip_statuses (pulp.apis.fscip_cmd attribute)": [[31, "pulp.apis.FSCIP_CMD.FSCIP_STATUSES", false]], "get_status() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.get_status", false]], "getattribute() (pulp.apis.xpress_py method)": [[31, "pulp.apis.XPRESS_PY.getAttribute", false]], "getcplexstylearrays() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.getCplexStyleArrays", false]], "getoptions() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.getOptions", false]], "getoptions() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.getOptions", false]], "getoptions() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.getOptions", false]], "getsolver() (in module pulp.apis)": [[31, "pulp.apis.getSolver", false]], "getsolverfromdict() (in module pulp.apis)": [[31, "pulp.apis.getSolverFromDict", false]], "getsolverfromjson() (in module pulp.apis)": [[31, "pulp.apis.getSolverFromJson", false]], "glpk (in module pulp.apis)": [[31, "pulp.apis.GLPK", false]], "glpk_cmd (class in pulp.apis)": [[31, "pulp.apis.GLPK_CMD", false]], "gurobi (class in pulp.apis)": [[31, "pulp.apis.GUROBI", false]], "gurobi_cmd (class in pulp.apis)": [[31, "pulp.apis.GUROBI_CMD", false]], "highs (class in pulp.apis)": [[31, "pulp.apis.HiGHS", false]], "highs_cmd (class in pulp.apis)": [[31, "pulp.apis.HiGHS_CMD", false]], "initialize() (in module pulp.apis)": [[31, "pulp.apis.initialize", false]], "isfixed() (pulp.lpvariable method)": [[30, "pulp.LpVariable.isFixed", false]], "isiterable() (in module pulp.constants)": [[28, "pulp.constants.isiterable", false]], "isviolated() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.isViolated", false]], "listsolvers() (in module pulp.apis)": [[31, "pulp.apis.listSolvers", false]], "lpaffineexpression (class in pulp)": [[30, "pulp.LpAffineExpression", false]], "lpconstraint (class in pulp)": [[30, "pulp.LpConstraint", false]], "lpconstrainteq (in module pulp.constants)": [[28, "pulp.constants.LpConstraintEQ", false]], "lpconstraintge (in module pulp.constants)": [[28, "pulp.constants.LpConstraintGE", false]], "lpconstraintle (in module pulp.constants)": [[28, "pulp.constants.LpConstraintLE", false]], "lpconstraintsenses (in module pulp.constants)": [[28, "pulp.constants.LpConstraintSenses", false]], "lpcontinuous (in module pulp.constants)": [[28, "pulp.constants.LpContinuous", false]], "lpelement (class in pulp)": [[30, "pulp.LpElement", false]], "lpmaximize (in module pulp.constants)": [[28, "pulp.constants.LpMaximize", false]], "lpminimize (in module pulp.constants)": [[28, "pulp.constants.LpMinimize", false]], "lpproblem (class in pulp)": [[30, "pulp.LpProblem", false]], "lpsenses (in module pulp.constants)": [[28, "pulp.constants.LpSenses", false]], "lpsolution (in module pulp.constants)": [[28, "pulp.constants.LpSolution", false]], "lpsolver (class in pulp.apis)": [[31, "pulp.apis.LpSolver", false]], "lpsolver_cmd (class in pulp.apis)": [[31, "pulp.apis.LpSolver_CMD", false]], "lpstatus (in module pulp.constants)": [[28, "pulp.constants.LpStatus", false]], "lpstatusinfeasible (in module pulp.constants)": [[28, "pulp.constants.LpStatusInfeasible", false]], "lpstatusnotsolved (in module pulp.constants)": [[28, "pulp.constants.LpStatusNotSolved", false]], "lpstatusoptimal (in module pulp.constants)": [[28, "pulp.constants.LpStatusOptimal", false]], "lpstatusunbounded (in module pulp.constants)": [[28, "pulp.constants.LpStatusUnbounded", false]], "lpstatusundefined (in module pulp.constants)": [[28, "pulp.constants.LpStatusUndefined", false]], "lpsum() (in module pulp)": [[30, "pulp.lpSum", false]], "lpvariable (class in pulp)": [[30, "pulp.LpVariable", false]], "makeelasticsubproblem() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.makeElasticSubProblem", false]], "mipcl_cmd (class in pulp.apis)": [[31, "pulp.apis.MIPCL_CMD", false]], "mktemp() (in module pulp.apis)": [[31, "pulp.apis.mktemp", false]], "module": [[28, "module-pulp.constants", false], [30, "module-pulp", false], [31, "module-pulp.apis", false]], "mosek (class in pulp.apis)": [[31, "pulp.apis.MOSEK", false]], "name (pulp.apis.choco_cmd attribute)": [[31, "pulp.apis.CHOCO_CMD.name", false]], "name (pulp.apis.coin_cmd attribute)": [[31, "pulp.apis.COIN_CMD.name", false]], "name (pulp.apis.coinmp_dll attribute)": [[31, "pulp.apis.COINMP_DLL.name", false]], "name (pulp.apis.copt attribute)": [[31, "pulp.apis.COPT.name", false]], "name (pulp.apis.copt_cmd attribute)": [[31, "pulp.apis.COPT_CMD.name", false]], "name (pulp.apis.copt_dll attribute)": [[31, "pulp.apis.COPT_DLL.name", false]], "name (pulp.apis.cplex_cmd attribute)": [[31, "pulp.apis.CPLEX_CMD.name", false]], "name (pulp.apis.cplex_py attribute)": [[31, "pulp.apis.CPLEX_PY.name", false]], "name (pulp.apis.fscip_cmd attribute)": [[31, "pulp.apis.FSCIP_CMD.name", false]], "name (pulp.apis.glpk_cmd attribute)": [[31, "pulp.apis.GLPK_CMD.name", false]], "name (pulp.apis.gurobi attribute)": [[31, "pulp.apis.GUROBI.name", false]], "name (pulp.apis.gurobi_cmd attribute)": [[31, "pulp.apis.GUROBI_CMD.name", false]], "name (pulp.apis.highs attribute)": [[31, "pulp.apis.HiGHS.name", false]], "name (pulp.apis.highs_cmd attribute)": [[31, "pulp.apis.HiGHS_CMD.name", false]], "name (pulp.apis.lpsolver attribute)": [[31, "pulp.apis.LpSolver.name", false]], "name (pulp.apis.lpsolver_cmd attribute)": [[31, "pulp.apis.LpSolver_CMD.name", false]], "name (pulp.apis.mipcl_cmd attribute)": [[31, "pulp.apis.MIPCL_CMD.name", false]], "name (pulp.apis.mosek attribute)": [[31, "pulp.apis.MOSEK.name", false]], "name (pulp.apis.pulp_cbc_cmd attribute)": [[31, "pulp.apis.PULP_CBC_CMD.name", false]], "name (pulp.apis.pyglpk attribute)": [[31, "pulp.apis.PYGLPK.name", false]], "name (pulp.apis.scip_cmd attribute)": [[31, "pulp.apis.SCIP_CMD.name", false]], "name (pulp.apis.scip_py attribute)": [[31, "pulp.apis.SCIP_PY.name", false]], "name (pulp.apis.xpress attribute)": [[31, "pulp.apis.XPRESS.name", false]], "name (pulp.apis.xpress_py attribute)": [[31, "pulp.apis.XPRESS_PY.name", false]], "name (pulp.apis.yaposib attribute)": [[31, "pulp.apis.YAPOSIB.name", false]], "no_solution_statuses (pulp.apis.fscip_cmd attribute)": [[31, "pulp.apis.FSCIP_CMD.NO_SOLUTION_STATUSES", false]], "no_solution_statuses (pulp.apis.scip_cmd attribute)": [[31, "pulp.apis.SCIP_CMD.NO_SOLUTION_STATUSES", false]], "objective (pulp.lpproblem attribute)": [[30, "pulp.LpProblem.objective", false]], "parse_objective() (pulp.apis.fscip_cmd static method)": [[31, "pulp.apis.FSCIP_CMD.parse_objective", false]], "parse_status() (pulp.apis.fscip_cmd static method)": [[31, "pulp.apis.FSCIP_CMD.parse_status", false]], "parse_variable() (pulp.apis.fscip_cmd static method)": [[31, "pulp.apis.FSCIP_CMD.parse_variable", false]], "parser (in module pulp.apis)": [[31, "pulp.apis.Parser", false]], "permutation() (in module pulp)": [[30, "pulp.permutation", false]], "pulp": [[30, "module-pulp", false]], "pulp.apis": [[31, "module-pulp.apis", false]], "pulp.constants": [[28, "module-pulp.constants", false]], "pulp_cbc_cmd (class in pulp.apis)": [[31, "pulp.apis.PULP_CBC_CMD", false]], "pulp_cbc_path (pulp.apis.pulp_cbc_cmd attribute)": [[31, "pulp.apis.PULP_CBC_CMD.pulp_cbc_path", false]], "pulperror": [[28, "pulp.constants.PulpError", false]], "pulpsolvererror": [[31, "pulp.apis.PulpSolverError", false]], "pyglpk (class in pulp.apis)": [[31, "pulp.apis.PYGLPK", false]], "quote_path() (pulp.apis.xpress static method)": [[31, "pulp.apis.XPRESS.quote_path", false]], "readsol() (pulp.apis.choco_cmd static method)": [[31, "pulp.apis.CHOCO_CMD.readsol", false]], "readsol() (pulp.apis.copt_cmd method)": [[31, "pulp.apis.COPT_CMD.readsol", false]], "readsol() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.readsol", false]], "readsol() (pulp.apis.fscip_cmd static method)": [[31, "pulp.apis.FSCIP_CMD.readsol", false]], "readsol() (pulp.apis.glpk_cmd method)": [[31, "pulp.apis.GLPK_CMD.readsol", false]], "readsol() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.readsol", false]], "readsol() (pulp.apis.highs_cmd method)": [[31, "pulp.apis.HiGHS_CMD.readsol", false]], "readsol() (pulp.apis.mipcl_cmd static method)": [[31, "pulp.apis.MIPCL_CMD.readsol", false]], "readsol() (pulp.apis.scip_cmd static method)": [[31, "pulp.apis.SCIP_CMD.readsol", false]], "readsol() (pulp.apis.xpress static method)": [[31, "pulp.apis.XPRESS.readsol", false]], "readsol_lp() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.readsol_LP", false]], "readsol_mps() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.readsol_MPS", false]], "reelasticize() (pulp.fixedelasticsubproblem method)": [[30, "pulp.FixedElasticSubProblem.reElasticize", false]], "roundsolution() (pulp.lpproblem method)": [[30, "pulp.LpProblem.roundSolution", false]], "scip (in module pulp.apis)": [[31, "pulp.apis.SCIP", false]], "scip_cmd (class in pulp.apis)": [[31, "pulp.apis.SCIP_CMD", false]], "scip_py (class in pulp.apis)": [[31, "pulp.apis.SCIP_PY", false]], "scip_statuses (pulp.apis.scip_cmd attribute)": [[31, "pulp.apis.SCIP_CMD.SCIP_STATUSES", false]], "setconfiginformation() (in module pulp.apis)": [[31, "pulp.apis.setConfigInformation", false]], "setinitialvalue() (pulp.lpvariable method)": [[30, "pulp.LpVariable.setInitialValue", false]], "setobjective() (pulp.lpproblem method)": [[30, "pulp.LpProblem.setObjective", false]], "settmpdir() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.setTmpDir", false]], "silent_remove() (pulp.apis.lpsolver_cmd method)": [[31, "pulp.apis.LpSolver_CMD.silent_remove", false]], "solution_style (pulp.apis.highs_cmd attribute)": [[31, "pulp.apis.HiGHS_CMD.SOLUTION_STYLE", false]], "solve() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.solve", false]], "solve() (pulp.lpproblem method)": [[30, "pulp.LpProblem.solve", false]], "solve_cbc() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.solve_CBC", false]], "sorted_keys() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.sorted_keys", false]], "status (pulp.lpproblem attribute)": [[30, "pulp.LpProblem.status", false]], "to_dict() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.to_dict", false]], "to_dict() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.to_dict", false]], "to_dict() (pulp.lpvariable method)": [[30, "pulp.LpVariable.to_dict", false]], "to_json() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.to_json", false]], "to_string() (in module pulp.apis)": [[31, "pulp.apis.to_string", false]], "todict() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.toDict", false]], "todict() (pulp.lpaffineexpression method)": [[30, "pulp.LpAffineExpression.toDict", false]], "todict() (pulp.lpconstraint method)": [[30, "pulp.LpConstraint.toDict", false]], "todict() (pulp.lpvariable method)": [[30, "pulp.LpVariable.toDict", false]], "tojson() (pulp.apis.lpsolver method)": [[31, "pulp.apis.LpSolver.toJson", false]], "tojson() (pulp.lpproblem method)": [[30, "pulp.LpProblem.toJson", false]], "uuid4() (in module pulp.apis)": [[31, "pulp.apis.uuid4", false]], "value() (in module pulp)": [[30, "pulp.value", false]], "variables() (pulp.lpproblem method)": [[30, "pulp.LpProblem.variables", false]], "with_traceback() (pulp.constants.pulperror method)": [[28, "pulp.constants.PulpError.with_traceback", false]], "writelp() (pulp.lpproblem method)": [[30, "pulp.LpProblem.writeLP", false]], "writemps() (pulp.lpproblem method)": [[30, "pulp.LpProblem.writeMPS", false]], "writemst() (pulp.apis.copt_cmd method)": [[31, "pulp.apis.COPT_CMD.writemst", false]], "writeslxsol() (pulp.apis.xpress method)": [[31, "pulp.apis.XPRESS.writeslxsol", false]], "writesol() (pulp.apis.coin_cmd method)": [[31, "pulp.apis.COIN_CMD.writesol", false]], "writesol() (pulp.apis.cplex_cmd method)": [[31, "pulp.apis.CPLEX_CMD.writesol", false]], "writesol() (pulp.apis.gurobi_cmd method)": [[31, "pulp.apis.GUROBI_CMD.writesol", false]], "writesol() (pulp.apis.highs_cmd method)": [[31, "pulp.apis.HiGHS_CMD.writesol", false]], "xpress (class in pulp.apis)": [[31, "pulp.apis.XPRESS", false]], "xpress_cmd (in module pulp.apis)": [[31, "pulp.apis.XPRESS_CMD", false]], "xpress_py (class in pulp.apis)": [[31, "pulp.apis.XPRESS_PY", false]], "yaposib (class in pulp.apis)": [[31, "pulp.apis.YAPOSIB", false]]}, "objects": {"": [[30, 0, 0, "-", "pulp"]], "pulp": [[30, 1, 1, "", "FixedElasticSubProblem"], [30, 1, 1, "", "LpAffineExpression"], [30, 1, 1, "", "LpConstraint"], [30, 1, 1, "", "LpElement"], [30, 1, 1, "", "LpProblem"], [30, 1, 1, "", "LpVariable"], [30, 4, 1, "", "allcombinations"], [30, 4, 1, "", "allpermutations"], [31, 0, 0, "-", "apis"], [30, 4, 1, "", "combination"], [28, 0, 0, "-", "constants"], [30, 4, 1, "", "lpSum"], [30, 4, 1, "", "permutation"], [30, 4, 1, "", "value"]], "pulp.FixedElasticSubProblem": [[30, 2, 1, "", "alterName"], [30, 2, 1, "", "deElasticize"], [30, 2, 1, "", "findDifferenceFromRHS"], [30, 2, 1, "", "findLHSValue"], [30, 2, 1, "", "isViolated"], [30, 2, 1, "", "reElasticize"]], "pulp.LpAffineExpression": [[30, 2, 1, "", "addInPlace"], [30, 2, 1, "", "asCplexLpAffineExpression"], [30, 2, 1, "", "asCplexVariablesOnly"], [30, 2, 1, "", "copy"], [30, 2, 1, "", "sorted_keys"], [30, 2, 1, "", "toDict"], [30, 2, 1, "", "to_dict"]], "pulp.LpConstraint": [[30, 2, 1, "", "addInPlace"], [30, 2, 1, "", "asCplexLpConstraint"], [30, 2, 1, "", "changeRHS"], [30, 2, 1, "", "copy"], [30, 2, 1, "", "fromDict"], [30, 2, 1, "", "from_dict"], [30, 2, 1, "", "makeElasticSubProblem"], [30, 2, 1, "", "toDict"]], "pulp.LpProblem": [[30, 3, 1, "", "constraints"], [30, 2, 1, "", "fromJson"], [30, 3, 1, "", "objective"], [30, 2, 1, "", "roundSolution"], [30, 2, 1, "", "setObjective"], [30, 2, 1, "", "solve"], [30, 3, 1, "", "status"], [30, 2, 1, "", "toJson"], [30, 2, 1, "", "variables"], [30, 2, 1, "", "writeLP"], [30, 2, 1, "", "writeMPS"]], "pulp.LpVariable": [[30, 2, 1, "", "addVariableToConstraints"], [30, 2, 1, "", "dicts"], [30, 2, 1, "", "fixValue"], [30, 2, 1, "", "fromDict"], [30, 2, 1, "", "from_dict"], [30, 2, 1, "", "isFixed"], [30, 2, 1, "", "setInitialValue"], [30, 2, 1, "", "toDict"], [30, 2, 1, "", "to_dict"]], "pulp.apis": [[31, 1, 1, "", "CHOCO_CMD"], [31, 3, 1, "", "COIN"], [31, 1, 1, "", "COINMP_DLL"], [31, 4, 1, "", "COINMP_DLL_load_dll"], [31, 1, 1, "", "COIN_CMD"], [31, 1, 1, "", "COPT"], [31, 1, 1, "", "COPT_CMD"], [31, 1, 1, "", "COPT_DLL"], [31, 4, 1, "", "COPT_DLL_loadlib"], [31, 3, 1, "", "CPLEX"], [31, 1, 1, "", "CPLEX_CMD"], [31, 1, 1, "", "CPLEX_PY"], [31, 3, 1, "", "FSCIP"], [31, 1, 1, "", "FSCIP_CMD"], [31, 3, 1, "", "GLPK"], [31, 1, 1, "", "GLPK_CMD"], [31, 1, 1, "", "GUROBI"], [31, 1, 1, "", "GUROBI_CMD"], [31, 1, 1, "", "HiGHS"], [31, 1, 1, "", "HiGHS_CMD"], [31, 1, 1, "", "LpSolver"], [31, 1, 1, "", "LpSolver_CMD"], [31, 1, 1, "", "MIPCL_CMD"], [31, 1, 1, "", "MOSEK"], [31, 1, 1, "", "PULP_CBC_CMD"], [31, 1, 1, "", "PYGLPK"], [31, 3, 1, "", "Parser"], [31, 5, 1, "", "PulpSolverError"], [31, 3, 1, "", "SCIP"], [31, 1, 1, "", "SCIP_CMD"], [31, 1, 1, "", "SCIP_PY"], [31, 1, 1, "", "XPRESS"], [31, 3, 1, "", "XPRESS_CMD"], [31, 1, 1, "", "XPRESS_PY"], [31, 1, 1, "", "YAPOSIB"], [31, 4, 1, "", "byref"], [31, 4, 1, "", "clock"], [31, 4, 1, "", "configSolvers"], [31, 4, 1, "", "coptstr"], [31, 4, 1, "", "ctypesArrayFill"], [31, 4, 1, "", "getSolver"], [31, 4, 1, "", "getSolverFromDict"], [31, 4, 1, "", "getSolverFromJson"], [31, 4, 1, "", "initialize"], [31, 4, 1, "", "listSolvers"], [31, 4, 1, "", "mktemp"], [31, 4, 1, "", "setConfigInformation"], [31, 4, 1, "", "to_string"], [31, 4, 1, "", "uuid4"]], "pulp.apis.CHOCO_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"]], "pulp.apis.COINMP_DLL": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.COIN_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "copy"], [31, 2, 1, "", "defaultPath"], [31, 2, 1, "", "getOptions"], [31, 2, 1, "", "get_status"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol_LP"], [31, 2, 1, "", "readsol_MPS"], [31, 2, 1, "", "solve_CBC"], [31, 2, 1, "", "writesol"]], "pulp.apis.COPT": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.COPT_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"], [31, 2, 1, "", "writemst"]], "pulp.apis.COPT_DLL": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "err"], [31, 3, 1, "", "name"]], "pulp.apis.CPLEX_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 2, 1, "", "getOptions"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"], [31, 2, 1, "", "writesol"]], "pulp.apis.CPLEX_PY": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "err"], [31, 3, 1, "", "name"]], "pulp.apis.FSCIP_CMD": [[31, 3, 1, "", "FSCIP_STATUSES"], [31, 3, 1, "", "NO_SOLUTION_STATUSES"], [31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "parse_objective"], [31, 2, 1, "", "parse_status"], [31, 2, 1, "", "parse_variable"], [31, 2, 1, "", "readsol"]], "pulp.apis.GLPK_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"]], "pulp.apis.GUROBI": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "env"], [31, 3, 1, "", "name"]], "pulp.apis.GUROBI_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 2, 1, "", "getOptions"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"], [31, 2, 1, "", "writesol"]], "pulp.apis.HiGHS": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.HiGHS_CMD": [[31, 3, 1, "", "SOLUTION_STYLE"], [31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"], [31, 2, 1, "", "writesol"]], "pulp.apis.LpSolver": [[31, 2, 1, "", "actualResolve"], [31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "copy"], [31, 2, 1, "", "getCplexStyleArrays"], [31, 3, 1, "", "name"], [31, 2, 1, "", "solve"], [31, 2, 1, "", "toDict"], [31, 2, 1, "", "toJson"], [31, 2, 1, "", "to_dict"], [31, 2, 1, "", "to_json"]], "pulp.apis.LpSolver_CMD": [[31, 2, 1, "", "copy"], [31, 2, 1, "", "create_tmp_files"], [31, 2, 1, "", "defaultPath"], [31, 2, 1, "", "delete_tmp_files"], [31, 2, 1, "", "executable"], [31, 2, 1, "", "executableExtension"], [31, 3, 1, "", "name"], [31, 2, 1, "", "setTmpDir"], [31, 2, 1, "", "silent_remove"]], "pulp.apis.MIPCL_CMD": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"]], "pulp.apis.MOSEK": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.PULP_CBC_CMD": [[31, 3, 1, "", "name"], [31, 3, 1, "", "pulp_cbc_path"]], "pulp.apis.PYGLPK": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.SCIP_CMD": [[31, 3, 1, "", "NO_SOLUTION_STATUSES"], [31, 3, 1, "", "SCIP_STATUSES"], [31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "readsol"]], "pulp.apis.SCIP_PY": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.apis.XPRESS": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "defaultPath"], [31, 3, 1, "", "name"], [31, 2, 1, "", "quote_path"], [31, 2, 1, "", "readsol"], [31, 2, 1, "", "writeslxsol"]], "pulp.apis.XPRESS_PY": [[31, 2, 1, "", "actualResolve"], [31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 2, 1, "", "buildSolverModel"], [31, 2, 1, "", "callSolver"], [31, 2, 1, "", "findSolutionValues"], [31, 2, 1, "", "getAttribute"], [31, 3, 1, "", "name"]], "pulp.apis.YAPOSIB": [[31, 2, 1, "", "actualSolve"], [31, 2, 1, "", "available"], [31, 3, 1, "", "name"]], "pulp.constants": [[28, 6, 1, "", "LpConstraintEQ"], [28, 6, 1, "", "LpConstraintGE"], [28, 6, 1, "", "LpConstraintLE"], [28, 6, 1, "", "LpConstraintSenses"], [28, 6, 1, "", "LpContinuous"], [28, 6, 1, "", "LpMaximize"], [28, 6, 1, "", "LpMinimize"], [28, 6, 1, "", "LpSenses"], [28, 6, 1, "", "LpSolution"], [28, 6, 1, "", "LpStatus"], [28, 6, 1, "", "LpStatusInfeasible"], [28, 6, 1, "", "LpStatusNotSolved"], [28, 6, 1, "", "LpStatusOptimal"], [28, 6, 1, "", "LpStatusUnbounded"], [28, 6, 1, "", "LpStatusUndefined"], [28, 5, 1, "", "PulpError"], [28, 4, 1, "", "isiterable"]], "pulp.constants.PulpError": [[28, 3, 1, "", "args"], [28, 2, 1, "", "with_traceback"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"], "5": ["py", "exception", "Python exception"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function", "5": "py:exception", "6": "py:data"}, "terms": {"": [0, 1, 2, 3, 4, 6, 7, 9, 10, 12, 15, 17, 18, 20, 22, 25, 30], "0": [0, 1, 2, 3, 4, 6, 9, 11, 12, 13, 17, 18, 25, 26, 28, 30, 31], "000": 0, "001": 0, "002": 0, "003": 0, "005": 0, "007": 0, "008": 0, "01": 11, "010": 0, "013": 0, "02": 11, "04": 17, "040": 0, "05": [11, 30], "07": 30, "080": 0, "09123642123": 10, "1": [0, 1, 2, 3, 4, 6, 9, 10, 11, 13, 14, 17, 18, 25, 26, 28, 30, 31], "10": [2, 3, 4, 9, 12, 17, 26, 30, 31], "100": [0, 3, 4, 17, 30], "1000": 3, "100000000000": 10, "100g": 0, "11": 17, "110": 0, "12": [10, 17, 31], "1200": 10, "1234567": 3, "13": 17, "130": 4, "14": 17, "149085": 26, "15": [4, 17, 26], "150": 0, "16": [4, 26], "160": 4, "167": 26, "17": 17, "170": 26, "171": 26, "178": 26, "17851": 26, "1800": 3, "19": 17, "199175": 26, "1e": [30, 31], "2": [0, 2, 3, 4, 6, 11, 14, 17, 18, 20, 25, 26, 28, 30, 31], "20": [17, 31], "200": [0, 3, 11], "2003": 18, "2005": 18, "2007": [0, 3, 31], "2009": [1, 13], "2012": 31, "2019": [4, 13], "21": [4, 17, 26], "22": 26, "22010": 26, "23": [17, 26], "25": [4, 17], "26": 26, "26871": 26, "27": 4, "2g": 0, "3": [2, 3, 4, 9, 12, 17, 18, 20, 25, 26, 28, 30, 31], "317": 26, "319": 26, "32": [10, 20], "33": 0, "336": 26, "35616": 26, "384": 10, "3x3": 2, "4": [0, 1, 2, 3, 4, 12, 13, 17, 18, 20, 22, 26, 30], "40": 0, "4000": 3, "41": 26, "410": 10, "4100": 3, "45": 2, "46": 26, "4861": 26, "4g": 0, "4th": 4, "5": [0, 1, 2, 3, 4, 9, 11, 12, 13, 17, 30, 31], "500": [3, 11], "5000": 3, "52": [0, 6], "526": 26, "53467": 26, "58": 4, "5w_": 4, "6": [0, 2, 17], "60": 0, "64": [10, 20, 31], "64_linux": 9, "66": 0, "67": [0, 26], "6g": 0, "7": [2, 4, 12, 17, 18, 20, 26], "700": 3, "729": 2, "8": [0, 2, 4, 10, 17], "80": 2, "81": 2, "8g": 0, "9": [2, 12, 17, 25], "90": 4, "900": 3, "91701": 26, "94318": 26, "96": 0, "97660": 26, "97894": 26, "9x9": 2, "A": [5, 7, 9, 11, 12, 13, 15, 17, 18, 22, 25, 30, 31], "AND": 31, "And": [7, 10, 12, 17, 31], "As": [0, 2, 3, 6, 9, 10, 12, 17], "At": [3, 4, 13, 17], "BE": 31, "But": [9, 12], "By": [9, 20, 22], "For": [0, 3, 7, 9, 10, 12, 13, 17, 19, 21, 22, 31], "If": [0, 2, 3, 9, 10, 13, 15, 17, 18, 22, 31], "In": [1, 2, 4, 6, 7, 9, 13, 17, 20, 22, 30], "Into": 17, "It": [0, 6, 7, 9, 12, 20, 25, 26, 27, 31], "NOT": 31, "No": [17, 28, 31], "Not": [0, 9, 28], "OR": [15, 18, 24], "Of": 10, "On": [2, 7, 18], "Or": [9, 12], "Such": 3, "TO": 12, "That": 7, "The": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 15, 18, 19, 20, 21, 31], "Then": [0, 1, 17, 20], "There": [2, 3, 6, 9, 10], "These": [0, 2, 4, 6, 9, 17], "To": [0, 1, 2, 3, 4, 7, 10, 13, 17, 18, 20, 22], "With": [9, 15, 17, 18], "_": 12, "_6": 0, "___": 3, "____": 3, "_____": 3, "__________": 3, "__init__": [6, 17], "__str__": 17, "__traceback__": 28, "_all_solv": 6, "_balance_": 3, "_balanced_": 3, "_cmd": 9, "_dict": 30, "_dummy_": 3, "_obj": 31, "_var": 9, "_var2": 9, "_variabl": 13, "a1": [3, 18], "a1x1": 18, "a2": [3, 9, 18], "a2x2": 18, "a3": 3, "a4": 3, "a5": 3, "a_1": 21, "a_2": 21, "a_3": 21, "a_i": [21, 30], "a_n": 21, "ab": [1, 12, 13, 25], "abl": [2, 9, 12, 20], "about": [3, 9, 11, 15, 31], "abov": [0, 2, 3, 9, 17], "absolut": [9, 31], "abstract": 22, "ac": 15, "academ": 20, "accept": 31, "access": [10, 14, 17, 18, 20], "accommod": 3, "accord": 2, "account": [6, 7, 10, 12], "accur": 7, "accuraci": 22, "act": 17, "activ": [7, 14], "actual": [2, 4, 7, 9, 22, 30, 31], "actualresolv": 31, "actualsolv": [8, 30, 31], "ad": [0, 2, 3, 4, 8, 9, 10, 17, 18, 30, 31], "adapt": [9, 13], "add": [0, 4, 7, 8, 9, 10, 15, 18, 30, 31], "addinplac": 30, "addit": [0, 6, 10, 14, 25, 30, 31], "addvariabletoconstraint": 30, "admin": 9, "advantag": [1, 9, 12, 22], "advic": 10, "advis": 0, "affect": [3, 17], "affin": 30, "after": [0, 2, 4, 9, 17, 20, 22, 30, 31], "afterward": 13, "again": [0, 2, 9, 12, 22, 25, 30, 31], "against": 31, "aim": [10, 22], "algebra": 0, "algorithm": [22, 31], "alia": 31, "all": [0, 1, 2, 3, 6, 7, 9, 10, 12, 13, 17, 20, 22, 25, 30, 31], "allcombin": [1, 12, 13, 30], "alloc": 1, "allow": [0, 1, 6, 9, 21, 23, 25, 31], "allpermut": 30, "almost": 21, "along": 3, "alreadi": [0, 3, 9, 10, 13, 20, 22], "also": [0, 2, 3, 7, 9, 10, 12, 13, 15, 17, 20, 21, 22, 26, 27], "alter": [22, 30], "altern": [3, 10, 12], "alternam": 30, "although": [0, 9, 10], "alwai": [3, 10, 17], "among": 9, "amount": [0, 3, 30], "ampl": [15, 24], "ampli": [15, 19, 24], "an": [0, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 25, 30, 31], "anaconda": 14, "analysi": [0, 5], "andrew": 15, "ani": [0, 1, 2, 9, 10, 12, 15, 17, 20, 21, 22, 27], "anita": 15, "anonym": 30, "anoth": [2, 3, 9, 10, 12, 17, 18, 22], "answer": 10, "antoni": [0, 2, 3, 15], "anxn": 18, "anyth": 2, "anywai": 0, "api": [8, 14, 15, 29], "app1": 26, "appar": 10, "appear": 3, "appli": [4, 8, 11, 30], "applic": 9, "approach": [1, 2], "appropri": [3, 22], "apt": 20, "ar": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 15, 17, 18, 21, 22, 30, 31], "arbitrari": [0, 31], "arc": 3, "arch": 31, "arg": [28, 30, 31], "argmax": 25, "argument": [6, 9, 10, 13, 17, 30, 31], "around": 31, "arrai": [19, 31], "ascplexlpaffineexpress": 30, "ascplexlpconstraint": 30, "ascplexvariablesonli": 30, "ask": [14, 22], "assembli": 4, "assembly_dict": 4, "assess": 11, "assign": [0, 13, 17], "assignstatu": 6, "assignvarsv": 6, "associ": [3, 4, 17, 30], "assum": [0, 3, 7, 15, 17, 30, 31], "assumpt": 3, "asterisk": 17, "asymmetr": 11, "attent": 22, "attrfil": 31, "attribut": [0, 6, 9, 17, 30, 31], "auckland": 15, "author": [0, 1, 2, 3, 4, 13], "automat": [9, 12], "avail": [2, 3, 4, 8, 9, 12, 15, 17, 18, 22, 31], "avoid": 3, "awfulli": 2, "axi": 25, "b": [1, 2, 3, 11, 12, 13, 18, 21, 30], "b1": 3, "b2": 3, "b3": 3, "b4": 3, "b5": 3, "back": [20, 22], "backup": 9, "backward": 31, "balanc": 3, "bar": 3, "base": [4, 7, 8, 9, 12, 20, 28, 30, 31], "basesolvertest": 6, "bash": 9, "bashrc": 9, "basic": [15, 19], "beaten": 31, "becaus": [0, 2, 3, 6, 9, 12], "becom": [0, 1, 2, 10, 12, 17, 18], "beef": [0, 17], "beefperc": 0, "been": [2, 3, 10, 12, 13, 16, 17, 31], "beer": 3, "beerdistributionproblem": 3, "beerdistributionproblemcompetitorextens": 3, "beerdistributionproblemwarehouseextens": 3, "befor": [0, 6, 7, 9, 12, 17, 31], "begin": [0, 4, 17], "beginn": 17, "beginnersguid": 17, "being": [0, 2, 3, 9, 10, 30], "below": [0, 2, 3, 10, 12, 13, 17, 20], "ben": 0, "benefit": 22, "bertsima": 4, "best": [6, 22, 26], "best_bound": 26, "best_solut": 26, "better": [0, 2, 9, 17], "between": [0, 1, 2, 6, 12, 13], "big": [2, 9, 10], "bin": [7, 9], "binari": [1, 2, 10, 12, 13, 18, 20, 25, 28, 30, 31], "bind": 31, "bit": [10, 20], "black": 8, "blank": 0, "blend": [3, 5, 15], "block": 0, "board": 25, "bodi": 17, "book": 17, "bool": [30, 31], "boolean": 25, "borrow": 31, "both": [9, 12, 17], "bottom": 17, "bound": [0, 3, 13, 21, 22, 26, 30], "boutiqu": 3, "box": [2, 25], "bracket": [0, 17], "bran": 0, "branch": [21, 31], "break": [2, 22], "breweri": 3, "brief": [0, 30], "bring": 10, "broadcast": 25, "broken": 22, "browser": [7, 18], "bug": 18, "build": [0, 8, 10, 12, 30], "buildsolvermodel": [6, 9, 31], "built": [10, 18], "bundl": 20, "byref": 31, "byte": 31, "c": [1, 2, 3, 4, 9, 11, 12, 13, 20, 25, 30, 31], "c1": 12, "c2": 12, "c3": 12, "c_": 3, "c_doubl": 31, "calcul": [1, 12, 13, 17, 30], "call": [0, 2, 3, 6, 9, 11, 15, 17, 18, 20, 21, 22, 30, 31], "callabl": [20, 31], "callback": 31, "callsolv": [6, 9, 31], "can": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 15, 17, 18, 20, 21, 22, 27, 30, 31], "cannot": [0, 2, 3, 6, 12, 17, 22, 31], "cap_": 4, "capabl": 4, "capac": [3, 4], "capacity_dict": 4, "capacity_ub": 4, "capassembli": 4, "capmold": 4, "capsteel": 4, "captur": 22, "carefulli": [3, 22], "case": [0, 1, 2, 3, 4, 9, 10, 13, 15], "cast": 12, "cat": [0, 1, 2, 4, 12, 13, 18, 30], "categori": 30, "caus": [0, 10], "caveat": 14, "cbc": [14, 15, 18, 20, 26, 31], "cbc_cmd": 13, "cd": [7, 9, 18, 20], "cdll": 31, "cent": 0, "chain": 27, "challeng": 17, "chanc": 22, "chang": [0, 3, 4, 6, 7, 9, 20, 21, 22, 28, 30], "changeabl": 2, "changerh": 30, "chapter7": 31, "charact": 31, "cheaper": 3, "cheapli": 0, "check": [3, 10, 13, 14, 30, 31], "checkduplicatevar": 6, "checklengthvar": 6, "chicken": [0, 17], "chickenperc": 0, "choco": [15, 18, 31], "choco_cmd": [9, 31], "choic": [0, 2, 4, 7], "choice_4_2_9": 2, "choos": [0, 9], "chosen": [1, 3, 13], "christoph": 31, "cl": 12, "class": [0, 8, 12, 15, 27, 28, 29, 31], "classmethod": [30, 31], "clear": [2, 17], "clearli": [0, 2, 22], "clever": 12, "click": [13, 20], "client": [7, 22], "clip": 25, "cliqu": 26, "clock": 31, "clone": 8, "close": [2, 20], "clp": [15, 18, 31], "cmd": [6, 14, 20], "co": 1, "code": [0, 2, 3, 6, 7, 12, 13, 15, 18, 19, 20, 27], "coeffici": [10, 12, 22, 30], "coin": [10, 15, 18, 22, 31], "coin_cmd": [9, 20, 31], "coin_mp": 31, "coinmp_dll": [9, 20, 31], "coinmp_dll_load_dl": 31, "col": [2, 26], "collect": 0, "colon": 17, "column": [1, 2, 18, 20, 26, 30], "columnwis": 30, "com": [4, 7, 10, 15, 16, 18, 23, 25, 26, 31], "combin": [2, 3, 4, 10, 18], "come": [3, 9, 22, 30, 31], "comma": [0, 17], "command": [6, 7, 9, 10, 17, 20, 31], "comment": [0, 2, 3, 18], "commit": 7, "common": 10, "compani": 4, "compar": [2, 3], "comparison": 4, "compil": 31, "complet": [10, 12, 13], "complic": [2, 4], "comprehens": [0, 3, 4, 22], "comput": [3, 9, 12], "concaten": 12, "concept": [9, 15, 19], "concern": 2, "concis": [17, 22], "conda": 14, "condit": [17, 21], "configpars": 31, "configsolv": 31, "configur": [6, 14, 15, 18, 31], "confirm": 13, "connect": [3, 9], "consecut": 17, "consequ": 22, "consid": [0, 2, 3, 22], "consider": [3, 6, 14, 22], "consist": 6, "consol": [4, 9, 31], "constant": [6, 12, 15, 21, 29, 30], "constrain": [3, 25], "constraint": [1, 4, 10, 12, 14, 15, 18, 20, 21, 22, 26, 31], "constraint_1": 11, "constraint_2": 11, "constraintsnam": 31, "construct": [18, 22], "constructor": 9, "consult": 22, "contain": [0, 1, 2, 3, 6, 11, 17, 18, 21, 28, 30], "content": [17, 26], "continu": [0, 4, 12, 17, 20, 21, 28, 30], "contribut": [0, 4, 8, 15], "control": [2, 9, 31], "convent": [6, 12], "convert": [0, 4, 30], "coordin": 25, "copi": [0, 9, 30, 31], "copt": [9, 31], "copt_cmd": 31, "copt_dll": 31, "copt_dll_loadlib": 31, "coptstr": 31, "copyright": [19, 31], "core": 6, "correctli": [9, 10, 13, 20], "correspond": [2, 4, 6, 17], "cost": [0, 3, 4, 9, 12, 17, 22], "could": [0, 2, 3, 10, 12, 13, 17, 22], "count": 31, "coupl": 6, "cours": [3, 10, 17], "cover": [1, 6, 31], "covercut": 31, "cplex": [0, 10, 15, 18, 20, 21, 22, 26, 31], "cplex_cmd": [9, 13, 20, 31], "cplex_dll": [9, 20], "cplex_hom": 9, "cplex_pi": [13, 20, 31], "cplex_studio128": 9, "cpo_hom": 9, "cpoptim": 9, "cpu": 31, "crate": 3, "creat": [0, 1, 2, 3, 4, 8, 9, 12, 13, 15, 17, 18, 22, 26, 30, 31], "create_anon": 25, "create_tmp_fil": [6, 31], "creation": 17, "cross": 9, "crucial": 22, "ctype": 31, "ctypesarrayfil": 31, "cumbersom": 9, "curli": 17, "current": [9, 17, 20, 21, 31], "custom": 12, "cut": [26, 31], "cut_info": 26, "cutsbestbound": 26, "cycl": [0, 3], "d": [1, 3, 11, 12, 13], "d_b": 3, "data": [0, 2, 3, 4, 6, 14, 15, 17, 22, 24, 26, 30, 31], "databas": 4, "datafram": 26, "date": 0, "de": 30, "debain": 20, "debug": [14, 15, 31], "decid": [0, 3, 4, 22], "decim": 10, "decis": [4, 21, 22], "declar": [6, 23], "deelastic": 30, "deem": 2, "def": [1, 6, 12, 13, 17], "default": [0, 3, 6, 9, 10, 12, 13, 17, 18, 20, 30, 31], "defaultpath": [8, 31], "defin": [0, 1, 2, 3, 4, 6, 11, 17, 22, 27, 30], "definit": [2, 3, 17, 28], "delet": [2, 9, 31], "delete_tmp_fil": [6, 31], "deliv": 3, "demand": [3, 4], "demonstr": 17, "denot": [11, 17], "depend": [0, 7, 9, 17, 31], "deploi": 9, "depth": 26, "describ": [0, 10, 20], "descript": 5, "design": 31, "desktop": 20, "detail": [3, 6, 10, 21, 22], "detect": 7, "determin": [1, 4, 22], "dev": [7, 18, 31], "develop": [7, 15, 19], "devnul": 6, "diagram": [3, 22], "dict": [0, 1, 2, 3, 4, 12, 13, 17, 30, 31], "dictionari": [0, 3, 4, 9, 12, 13, 15, 24, 26, 28, 30, 31], "did": [2, 9, 10, 31], "differ": [0, 9, 17, 22, 31], "differenti": 4, "difficult": [1, 21], "digit": 25, "dimens": 17, "dir": 31, "directli": [0, 7, 9, 10, 12], "directori": [0, 3, 6, 7, 9, 10, 18, 20, 31], "discret": 0, "discuss": [10, 18], "disk": 9, "dispatch": 3, "displai": [0, 17, 18, 20], "distanc": [1, 11, 12, 13], "distinct": 25, "distribut": [3, 18, 20], "dive": 17, "divid": [0, 20], "divis": 17, "dj": [12, 30], "dll": 31, "dmd": 4, "do": [0, 2, 4, 6, 7, 9, 10, 12, 13, 17, 18, 20, 22, 25, 30], "doc": [7, 18, 31], "document": [8, 9, 10, 15], "doe": [0, 1, 6, 9, 12, 17, 30, 31], "dollar": 3, "don": [2, 3, 22], "done": [0, 4, 6, 7, 9, 17, 21, 22], "dot": 0, "doubl": 31, "down": 22, "download": [7, 10, 17, 18, 20], "dr": [0, 2, 3], "dramat": 2, "draw": 2, "drive": [9, 20], "dual": [9, 20, 21], "due": 3, "dummi": 3, "duplic": [6, 10], "duquesn": 31, "dure": [3, 9, 14, 15, 31], "dynam": [9, 31], "e": [0, 1, 2, 3, 6, 9, 10, 12, 13, 17, 22, 30, 31], "each": [0, 1, 2, 3, 4, 6, 7, 9, 12, 13, 17, 20, 22, 30, 31], "earlier": 15, "earn": 4, "easi": [3, 7, 9, 27], "easier": [0, 2, 12], "easiest": [7, 18, 20], "easili": [0, 3, 17, 22], "economi": 3, "edit": [2, 3, 4, 9, 31], "editor": [0, 10], "effect": [2, 21, 22, 30], "effici": [1, 3, 25, 27], "either": [0, 11, 17, 18, 20, 22, 30, 31], "elaps": 31, "elast": [14, 15, 20, 30], "elastic": [11, 30], "elasticproblem": 11, "elasticproblem_1": 11, "elasticproblem_2": 11, "eleg": 2, "element": [0, 1, 2, 4, 17, 30, 31], "elif": [12, 17], "els": [2, 6, 9, 12, 17, 31], "empti": [0, 17, 30], "encod": 12, "end": [0, 2, 4, 9, 12, 13, 17], "end_messag": 17, "endmessag": 17, "enorm": 21, "enough": [9, 12], "ensur": [0, 2, 7], "enter": [0, 2, 3, 17, 20, 22], "entri": 0, "enumer": 1, "env": 31, "environ": [7, 14, 18], "eol": 17, "ep": 30, "epgap": 31, "epsint": 30, "equal": [0, 2, 3, 4, 11], "equat": 0, "equival": 30, "err": 31, "error": [6, 14, 15], "escap": 31, "essenti": [0, 2], "etc": [0, 3, 9, 20, 26], "even": [10, 31], "eventu": 17, "ever": 25, "everi": [2, 3, 7, 17], "ex": [9, 14, 18], "ex_1": 11, "ex_2": 11, "exact": 2, "exactli": [0, 1, 2, 3, 10, 12], "examin": [11, 22], "exampl": [0, 2, 3, 8, 9, 10, 11, 14, 17, 19, 20, 22, 25, 26, 27, 30], "exce": [3, 17], "excel": [17, 22], "except": [6, 17, 21, 28, 30, 31], "excess": 3, "execut": [6, 7, 9, 14, 18, 31], "executableextens": [6, 31], "exercis": 0, "exist": [2, 6, 9, 17, 28, 30, 31], "exit": 31, "expand": 3, "expect": [6, 20, 31], "expert": 5, "explain": [0, 2, 3, 6, 9, 15], "explicit": [9, 17, 22], "explicitli": [0, 1, 2], "exponenti": 21, "export": [10, 14, 15, 30, 31], "express": [1, 2, 4, 18, 21, 22], "extens": 5, "extern": 20, "extra": [3, 5, 8], "extract": [0, 20], "extrem": 9, "f": [1, 3, 12, 13, 30], "fact": [2, 17], "factor": 3, "factori": 22, "fail": 22, "fairli": 9, "fals": [2, 6, 9, 30, 31], "far": 20, "fast": [9, 12, 17], "faster": 9, "fat": 0, "fatperc": 0, "fatrequir": 0, "feasibl": [2, 10, 20], "featur": [2, 19], "feedback": [14, 22], "feel": 7, "few": [0, 2], "fiberscip": 31, "fibr": 0, "fibreperc": 0, "fibrerequir": 0, "fico": 31, "fifth": 17, "file": [0, 1, 2, 3, 4, 6, 7, 10, 11, 12, 14, 15, 17, 18, 20, 22, 28, 30, 31], "filenam": [30, 31], "fill": [2, 6, 9, 14], "final": [0, 2, 3, 4, 7, 9, 10, 11, 22, 31], "financi": 3, "find": [1, 2, 4, 6, 7, 9, 12, 13, 18, 21, 30], "finddifferencefromrh": 30, "findlhsvalu": 30, "findsolutionvalu": [6, 9, 31], "finish": 6, "first": [0, 1, 2, 3, 4, 6, 7, 9, 10, 17, 18, 20, 22], "first_relax": 26, "first_solut": 26, "firstli": 0, "fit": [12, 30], "five": [0, 3, 22], "fix": [3, 7, 10, 14, 30], "fixedelasticsubproblem": [11, 30], "fixvalu": [13, 30], "flat": [12, 27], "flexibl": 12, "float": [12, 17, 30, 31], "flow": 3, "focu": 17, "folder": [2, 7, 10, 18, 20], "foldernam": 20, "follow": [0, 2, 3, 6, 7, 9, 10, 11, 12, 13, 17, 18, 20, 21, 26, 30, 31], "food": 0, "foral": 3, "forc": 31, "forecast": 3, "forget": 9, "fork": 8, "form": [3, 11, 18, 21, 22], "formal": [0, 22], "format": [0, 12, 17, 30, 31], "formatt": 8, "former": 9, "formul": [5, 6, 15, 31], "found": [0, 1, 2, 3, 4, 6, 9, 18, 26, 28, 31], "four": [0, 4], "fourth": [0, 17], "fraction": [3, 20, 31], "fractionelasticsubproblem": 30, "franco": [13, 15], "free": [7, 11, 20, 30], "freebound": 20, "freebound_list_valu": 11, "freebound_valu": 11, "freeli": [17, 20], "frequenc": 31, "frequent": 0, "freund": 4, "from": [0, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 17, 18, 21, 22, 25, 28, 30, 31], "from_dict": [12, 30], "from_json": 12, "fromdict": 30, "fromjson": 30, "frommp": 12, "fscip": [15, 18, 31], "fscip_cmd": 31, "fscip_status": 31, "full": [1, 2, 4, 5, 15], "fulli": 0, "function": [1, 4, 6, 7, 10, 11, 15, 20, 22, 25, 27, 30, 31], "fundament": 17, "further": [0, 3, 7, 21, 22], "futur": 22, "g": [0, 1, 3, 6, 9, 10, 12, 13, 22, 31], "gain": 13, "galor": 25, "game": 17, "gap": [26, 31], "gapab": 31, "gaprel": 31, "ge": [0, 3, 4, 11], "gel": 0, "gemston": 4, "gemstoneprob": 4, "gener": [1, 6, 10, 15, 17, 18, 22, 30, 31], "get": [3, 6, 7, 9, 10, 12, 13, 15, 18, 20, 31], "get_info_log_solv": 26, "get_statu": 31, "getattribut": 31, "getcplexstylearrai": 31, "getopt": 31, "getsolv": [9, 31], "getsolverfromdict": [9, 31], "getsolverfromjson": [9, 31], "git": [7, 18], "github": [4, 7, 10, 16, 18, 20, 23, 25, 26, 27, 31], "give": [0, 2, 3, 4, 9, 13, 14, 17, 22, 30], "given": [0, 2, 3, 13, 17, 18, 22, 30, 31], "glpk": [15, 18, 20, 31], "glpk_cmd": [9, 20, 31], "gmail": [4, 15], "go": [3, 7, 9, 12, 20, 21, 31], "goal": [4, 22], "gomori": [26, 31], "good": [3, 10, 21, 31], "govern": 17, "gram": 0, "graphic": [3, 9], "greater": [0, 3], "grid": 2, "group": [9, 14, 17], "grow": 21, "gtc": 4, "guarante": [1, 3, 22], "guest": [1, 12, 13], "gui": [9, 20], "guid": [7, 9, 15, 17, 18], "gurobi": [6, 13, 15, 18, 20, 22, 26, 31], "gurobi700": 26, "gurobi801": 9, "gurobi_cmd": [9, 13, 20, 31], "gurobi_hom": 9, "gurobipi": 6, "ha": [0, 3, 6, 10, 11, 12, 13, 14, 16, 31], "had": 2, "hand": 18, "handl": [6, 10], "happen": 9, "happi": [1, 12, 13], "hard": [9, 22, 30], "hash": 17, "have": [0, 1, 2, 3, 4, 7, 9, 10, 12, 13, 15, 17, 20, 21, 22, 25, 27, 31], "head": [0, 3, 17], "heaven": [15, 24], "heavi": 25, "help": [3, 7, 14], "helper": [9, 27, 30], "here": [1, 3, 4, 6, 7, 9, 10, 12, 13, 15, 17, 18, 21], "heurdepth": 31, "heurfreq": 31, "heurist": [22, 31], "heurstra": 31, "high": [9, 10, 15, 18, 31], "highli": [10, 17], "highs_cmd": 31, "highs_jll": 31, "home": [7, 15, 18, 19, 31], "hood": 25, "hopefulli": 28, "host": 17, "hour": [4, 22], "how": [0, 1, 3, 4, 8, 14, 15, 17, 18, 22], "howev": [0, 2, 15, 17, 22], "html": [7, 18, 27, 31], "http": [4, 10, 16, 18, 23, 25, 26, 27, 31], "i": [0, 1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 25, 26, 28, 30, 31], "ibm": 9, "id": 7, "idea": 9, "ideal": 6, "ident": 21, "identif": 22, "identifi": [12, 17, 22, 30], "idl": 20, "ignor": 0, "ilog": 9, "imagin": [9, 12], "implement": [0, 6, 22, 31], "impli": [3, 9, 13, 17, 26], "import": [0, 1, 2, 3, 4, 6, 10, 13, 14, 15, 18, 19, 20, 21, 22, 25, 26, 30], "importantli": 22, "imposs": 10, "improv": [0, 31], "inbetween": 2, "includ": [0, 3, 4, 7, 8, 9, 10, 15, 17, 18, 20, 22, 26], "incomplet": 2, "incorpor": 22, "increas": [2, 21, 22], "incur": 3, "indent": 17, "index": [2, 4, 7, 12, 18, 25, 30, 31], "indexstart": 30, "indic": [2, 30], "individu": 2, "industri": [12, 22], "inequ": 31, "infbound": 31, "infeas": [0, 3, 14, 20, 28, 31], "infin": [0, 30], "inform": [0, 3, 6, 9, 10, 12, 15, 17, 18, 26, 30, 31], "infti": 30, "ingr": 0, "ingr_ingredientnam": 0, "ingr_mutton": 0, "ingredi": 0, "ingredient_var": 0, "ingredientslist": 17, "inherit": 8, "initi": [6, 9, 13, 17, 30, 31], "initialis": [30, 31], "input": [0, 3, 17, 30], "input_data": 2, "inputparameter1": 17, "inputparameter2": 17, "insid": [7, 9, 10, 17, 18, 30], "inspect": 12, "instal": [6, 8, 10, 15, 19, 31], "instanc": [17, 30, 31], "instanti": [11, 31], "instead": [2, 3, 12, 17, 22, 27], "instruct": [15, 18, 20], "int": [12, 17, 30, 31], "integ": [0, 2, 3, 12, 15, 17, 18, 19, 20, 28, 30, 31], "integr": [3, 7, 14], "intellig": 22, "intend": 17, "interact": 3, "interdepend": 22, "interestingli": 2, "interfac": [9, 12, 15, 29], "interior": [21, 22], "intermediari": 9, "intern": [3, 12, 15, 31], "internet": 17, "interpret": [20, 31], "interrupt": 31, "interv": 11, "intract": 1, "introductori": 2, "invalid": 22, "invers": 6, "invest": 22, "invit": 1, "involv": [9, 10, 22], "io": 27, "isfix": 30, "isinst": 12, "isiter": 28, "ismip": 6, "issu": [7, 12, 14, 18], "isviol": 30, "item": [1, 4, 13, 30], "iter": [17, 30], "itpnod": 26, "its": [0, 3, 6, 9, 10, 11, 16, 30, 31], "itself": 30, "j": [1, 2, 3, 4, 12, 13, 17, 18], "jelli": 17, "jl": 31, "json": [9, 14, 30, 31], "jsonencod": 12, "juliabinarywrapp": 31, "jump": [3, 15], "jupyt": 14, "just": [0, 2, 3, 6, 9, 13, 25, 31], "k": [1, 2, 12, 13, 30], "kean": 15, "keep": 9, "keepfil": [6, 9, 31], "kei": [0, 3, 17, 22, 28, 30, 31], "keyword": [17, 25, 30, 31], "knapsack": 31, "knew": 9, "know": [0, 3, 7, 9, 13], "knowledg": [0, 17], "known": [2, 4, 21, 22], "kwarg": [30, 31], "l": [1, 2, 12, 13], "la": 27, "labor": 4, "laid": 0, "lamb": 17, "languag": [10, 19, 20], "larg": [1, 2, 3], "last": [0, 3, 9], "later": [3, 4, 15], "latest": [15, 18, 20, 31], "latter": 9, "launch": 10, "lb": [4, 25], "ld_library_path": 9, "ldot": 3, "le": [0, 4, 11], "lead": [0, 2, 3, 13], "learn": [7, 17], "least": [0, 1, 3, 15, 31], "leav": [0, 3, 9], "left": [0, 11, 20], "len": [1, 13], "length": [17, 30], "lengthsdict": 17, "lenopt": 17, "less": 3, "let": [3, 22, 25], "letter": [1, 12, 13], "level": [6, 9, 17, 31], "lh": 30, "lib": 9, "librari": [9, 20, 31], "licens": [19, 20], "lift": [25, 31], "like": [0, 1, 3, 4, 9, 10, 17, 18, 21, 25], "limit": [0, 3, 4, 22, 31], "line": [0, 2, 3, 6, 7, 9, 10, 17, 20, 27, 31], "linear": [0, 1, 2, 3, 15, 18, 19, 22, 25, 30], "link": [7, 15, 17], "lint": 7, "linter": 8, "linux": [7, 9, 18, 31], "linux64": 9, "list": [0, 1, 2, 3, 4, 6, 9, 11, 12, 13, 15, 18, 20, 24, 30, 31], "listsolv": [9, 31], "littl": [0, 2, 9], "lluang": 4, "load": [9, 13, 20, 23, 31], "local": 18, "locat": [2, 6, 9, 20, 31], "log": [10, 15, 24, 31], "logfil": 31, "logic": [0, 2, 3, 4, 6, 22], "logpath": [10, 31], "long": [2, 3, 12, 17, 20, 22], "longer": [12, 17, 20], "look": [0, 3, 9, 10, 17, 22], "lookalik": 31, "loop": [0, 2, 3, 19, 22], "loos": 3, "lose": [12, 27], "loss": 27, "lost": 3, "lot": [9, 12, 21], "loui": 4, "low": 31, "lowbound": [1, 4, 9, 12, 13, 30], "lower": [0, 3, 9, 13, 30], "lp": [0, 3, 4, 5, 6, 9, 10, 11, 15, 17, 18, 20, 30, 31], "lpaffineexpress": [20, 25, 30], "lparrai": 25, "lpbinari": [25, 28], "lpconstraint": [11, 18, 25, 28, 30], "lpconstrainteq": [28, 30], "lpconstraintg": [28, 30], "lpconstraintl": [28, 30], "lpconstraintsens": 28, "lpconstraintvar": [18, 30], "lpcontinu": [0, 28], "lpdot": 18, "lpelement": 30, "lpfractionconstraint": 30, "lpinteg": [0, 1, 3, 12, 13, 28], "lpmaxim": [0, 2, 4, 6, 28, 30], "lpminim": [0, 1, 2, 3, 9, 12, 13, 18, 25, 28, 30], "lpobjsens": 31, "lpproblem": [0, 1, 2, 3, 4, 6, 9, 11, 12, 13, 18, 25], "lpsens": 28, "lpsolut": 28, "lpsolutionintegerfeas": 28, "lpsolutionnosolutionfound": [6, 28], "lpsolutionoptim": 28, "lpsolutionstatusinfeas": 28, "lpsolutionstatusunbound": 28, "lpsolver": [6, 31], "lpsolver_cmd": [6, 31], "lpstatu": [0, 2, 4, 18, 28], "lpstatusinfeas": [6, 28], "lpstatusnotsolv": [6, 28], "lpstatusoptim": 28, "lpstatusunbound": 28, "lpstatusundefin": 28, "lpsum": [0, 1, 2, 3, 4, 12, 13, 18, 30], "lpvar": 31, "lpvarcategori": 31, "lpvariabl": [0, 1, 2, 3, 4, 9, 12, 13, 18, 20, 25, 30], "luangkesorn": 4, "lugerpitt": 4, "m": [1, 2, 7, 12, 13, 18], "mac": [7, 9], "machin": [4, 7, 9, 22], "maco": 18, "made": [3, 12, 15, 24], "magic": 9, "magnitud": 11, "mai": [1, 2, 3, 4, 9, 10, 11, 12, 20, 21, 22, 30, 31], "main": [0, 6, 9, 10, 15, 30, 31], "mainli": 17, "make": [0, 1, 2, 3, 4, 8, 9, 10, 17, 18, 20, 22, 27, 30, 31], "makedict": 3, "makeelasticsubproblem": [11, 30], "maker": 4, "manag": 3, "mani": [2, 3, 4, 9, 12, 13, 22], "manipul": [15, 20, 24, 27], "manual": 9, "manufactur": 0, "mari": 31, "market": 4, "mason": 15, "match": [9, 15, 24], "materi": [4, 17], "mathbb": 3, "mathemat": [20, 21], "matrix": 26, "matrix_post": 26, "matter": 17, "max": [3, 4, 25, 31], "max_length": 30, "max_tabl": [1, 12, 13], "max_table_s": [1, 12, 13], "maxcardin": 30, "maxim": [4, 6, 20, 28], "maximis": [1, 2, 22], "maximum": [1, 3, 12, 13, 31], "maximum_number_of_t": [1, 12, 13], "maxmemori": 31, "maxnod": 31, "maxoneperbox": 25, "maxonepercol": 25, "maxoneperrow": 25, "maxoneperxi": 25, "mean": [0, 2, 9, 12, 22], "meaning": [2, 3, 4, 7], "meat": [0, 17], "meet": 0, "memori": [10, 31], "mention": 12, "menu": 20, "merx": 2, "messag": [7, 10, 13], "met": [0, 2, 3], "method": [0, 7, 8, 9, 11, 13, 21, 22, 30], "methodologi": 22, "michael": 15, "might": 2, "mike": 3, "milp": [15, 18], "min": [0, 3, 25], "mine": 9, "miner": 0, "minim": [3, 6, 11, 12, 28], "minimalist": 7, "minimis": [0, 2, 3, 22], "minimum": [3, 10], "minor": 21, "mip": [6, 9, 14, 20, 21, 26, 30, 31], "mip_start": [9, 31], "mipcl": [15, 18, 31], "mipcl_api": 6, "mipcl_cmd": [6, 9, 31], "mipcl_cmdtest": 6, "mir": 26, "mit": 18, "mitchel": [0, 1, 2, 3, 13, 15, 18, 31], "mix": [0, 15, 17, 18, 21], "mkstemp": 31, "mktemp": 31, "model": [0, 1, 2, 4, 5, 6, 9, 10, 13, 14, 15, 17, 18, 19, 20, 30, 31], "modif": [2, 31], "modifi": [6, 7, 13, 17, 30], "modul": [12, 17, 20, 31], "modulenotfounderror": 31, "modulu": 17, "mold": 4, "molding_dict": 4, "moment": 31, "monitor": [5, 22], "monoton": 31, "more": [0, 2, 3, 6, 9, 10, 17, 19, 22, 25, 28, 30, 31], "mosek": [9, 15, 18, 31], "most": [9, 14, 15, 21, 26], "move": [16, 17], "mp": [6, 9, 10, 14, 15, 18, 30, 31], "mps_mipcl": 6, "mpsfile": 10, "mpssens": [6, 30], "msg": [6, 9, 10, 13, 18, 31], "mst": 9, "much": [0, 2, 3, 4, 17], "multi": 31, "multipl": [2, 17, 31], "multipli": 0, "must": [0, 1, 2, 3, 4, 12, 13, 17, 18, 20, 21, 22, 31], "must_seat_": [1, 12, 13], "mutton": [0, 17], "my": 9, "mylist": 31, "myproblem": 18, "n": [1, 2, 12, 13, 25, 31], "name": [0, 2, 3, 4, 6, 7, 9, 12, 17, 18, 20, 25, 30, 31], "nathan": 2, "natur": [2, 3, 17], "navig": 20, "ndarrai": 12, "neat": 22, "necessari": [2, 9, 30], "need": [0, 2, 3, 6, 7, 9, 10, 12, 13, 15, 17, 20, 21, 22, 27], "neg": [0, 3, 22, 30], "neither": 2, "nest": 27, "net": 4, "never": [10, 22, 25], "nevertheless": 12, "new": [2, 3, 7, 8, 9, 12, 15, 17, 18, 22, 30], "newbegin": 17, "newbeginendstringov": 17, "newer": 18, "next": [0, 4, 9, 17, 22], "no_solution_status": 31, "node": [3, 26, 31], "nodeselect": 31, "nodesleft": 26, "non": [0, 1, 2, 3, 30], "nonam": 30, "none": [0, 2, 3, 6, 9, 12, 17, 26, 30, 31], "nonetheless": 10, "nonetyp": 31, "nonneg": 4, "nonprogramm": 17, "nonzero": 26, "nor": 2, "normal": [3, 17, 30], "notat": 4, "note": [0, 1, 2, 3, 4, 12, 20, 21, 28, 30], "notebook": 14, "notic": [0, 3], "now": [0, 3, 7, 9, 10, 12, 16, 17, 20, 31], "np": 12, "npencod": 12, "number": [0, 1, 2, 3, 10, 11, 12, 13, 17, 21, 22, 27, 30, 31], "numer": [20, 28, 30], "numpi": [14, 15, 24], "nutrient": 0, "nutrit": 0, "nz": 15, "o": [1, 3, 6, 12, 13, 15, 17, 31], "obj": [12, 28, 30], "object": [1, 4, 6, 9, 10, 11, 12, 17, 18, 20, 21, 22, 26, 30, 31], "objectivenam": 31, "observ": [17, 22], "obtain": [0, 20], "obviou": 2, "occur": [2, 4], "odd": 17, "offer": [9, 12], "offic": 3, "offici": [8, 14], "offset": 31, "often": [3, 10, 17, 21, 22], "ol": 26, "old": 10, "onc": [0, 2, 3, 9, 13, 17], "one": [0, 1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 17, 18, 21, 30], "onedigitpercel": 25, "ones": [7, 27], "ongo": 5, "onli": [1, 2, 3, 6, 7, 9, 12, 13, 17, 21, 23, 31], "onlyavail": [9, 31], "open": [0, 2, 6, 7, 9, 10, 15, 18, 20, 22], "oper": [0, 2, 3, 6, 9, 10, 17, 22, 25, 27, 30], "operating_system": 31, "opportun": 22, "opt": 9, "optim": [0, 2, 3, 4, 13, 18, 20, 26, 28, 31], "optimis": [0, 4, 15, 18, 19, 20], "optimum": [0, 4], "option": [0, 2, 3, 6, 9, 30, 31], "ord": [1, 12, 13], "order": [2, 3, 4, 7, 9, 13, 15, 17, 18, 30, 31], "ordereddict": 30, "organ": 6, "orgset": 30, "orient": 0, "origin": [3, 7, 12, 22], "orlog": [15, 24], "osi": 31, "other": [0, 1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 20, 22, 30, 31], "otherwis": [1, 6, 9, 18, 31], "our": [0, 2, 3, 4, 12, 13, 22], "out": [0, 1, 2, 3, 4, 10, 13, 26], "outlin": 0, "output": [0, 4, 12, 17, 20, 26, 30], "over": [2, 9, 12], "overal": 2, "overflow": 10, "overlap": 2, "oversuppli": 3, "overwritten": [2, 9], "own": [2, 9, 10, 16, 17], "p": [1, 4, 12, 13], "p_": 4, "pack": 1, "packag": [4, 7, 9, 12, 16, 20, 31], "page": [2, 7, 10, 18], "pai": 22, "pair": [2, 31], "panda": [14, 26, 27], "param": 31, "paramet": [0, 3, 4, 10, 12, 17, 23, 30, 31], "parcial": 13, "parent": 6, "parenthes": 17, "pars": 12, "parse_object": 31, "parse_statu": 31, "parse_vari": 31, "parser": [15, 24, 31], "part": [18, 30], "particular": [2, 6, 10, 22], "partit": [5, 12, 13, 15], "pass": [0, 6, 7, 9, 10, 12, 13, 17, 20, 31], "patch": 18, "path": [3, 6, 10, 14, 20, 31], "path_to_cbc": 10, "path_to_cplex": 9, "pathlik": 31, "pattern": 17, "patterna": 17, "pc": [9, 10], "pchtsp": [7, 15, 26, 27], "penalti": [3, 11, 20, 30], "penalty_valu": 11, "per": [0, 2, 3, 4, 6, 14, 22], "percent": 0, "percentag": 0, "percentagessum": 0, "perfect": 17, "perform": [0, 13, 17, 31], "period": [4, 22], "permiss": 10, "permit": [6, 9, 12, 13, 27], "person": 22, "peschiera": [13, 15], "phillip": [0, 2, 3, 15], "pi": 12, "pip": [7, 18], "pipe": 6, "pl": 9, "place": [2, 17], "plain": 7, "plan": [5, 15], "planner": 1, "platform": [9, 31], "pleas": [20, 31], "plenti": 9, "plier": 4, "plierearn": 4, "plu": 2, "plugin": 15, "point": [11, 21, 22, 31], "pointer": [6, 10, 31], "popul": 22, "posit": [0, 17, 30], "possibl": [0, 1, 3, 4, 9, 10, 12, 13, 22, 31], "possible_t": [1, 12, 13], "post": 10, "power": 25, "pp": 25, "pr": [7, 10], "practic": 6, "precis": 10, "precompil": 31, "prefer": [2, 9], "prefix": [30, 31], "prepar": 31, "present": [2, 4, 5, 13], "presolv": [26, 31], "previou": [0, 3, 9, 12, 13], "previous": [3, 13, 31], "price": [4, 9, 12, 30], "price_dict": 4, "priceitem": 4, "pricescenario": 4, "primal": 21, "prime": 17, "principl": 17, "print": [0, 1, 2, 4, 9, 13, 17, 25, 30], "prob": [0, 2, 3, 9, 10, 12, 18, 25, 31], "prob1": 12, "probabl": [4, 9], "probe": 31, "problem": [5, 6, 9, 12, 14, 15, 17, 18, 20, 21, 30, 31], "procedur": 9, "process": [15, 19, 21], "produc": [0, 3, 4, 10], "product": [0, 3, 5, 15], "production_var": 4, "profil": 9, "profit": [4, 22], "program": [0, 1, 2, 3, 9, 10, 15, 17, 18, 19, 20], "programm": [3, 17], "progress": 26, "project": [8, 10, 18, 22], "prompt": [17, 20], "properti": [0, 6], "proport": [11, 30], "proportionfreebound": [11, 30], "proportionfreeboundlist": [11, 30], "proprietari": [15, 18], "protein": 0, "proteinperc": 0, "proteinrequir": 0, "provid": [2, 12, 15, 22, 26, 27, 31], "pscenario": 4, "pt": 17, "pub": 3, "pull": [8, 18], "pulp": [0, 1, 2, 4, 5, 8, 10, 13, 14, 17, 19, 22, 24, 27], "pulp_cbc_cmd": [9, 10, 13, 20, 31], "pulp_cbc_path": 31, "pulp_lparrai": [15, 24], "pulperror": [28, 31], "pulpsolvererror": [6, 10, 31], "pulptest": [6, 18, 20], "pulptestal": 20, "punch": 31, "purchas": [3, 4], "pure": 18, "purpos": 0, "push": [7, 20], "put": [2, 3, 10, 22], "put_some_alternative_path_her": 9, "puzzl": 25, "py": [0, 1, 2, 3, 4, 6, 7, 9, 17, 20], "pydev": 20, "pyglpk": [9, 20, 31], "pypi": [10, 18], "python": [0, 3, 7, 9, 10, 12, 15, 18, 19, 20, 22, 23, 26, 28, 31], "python3": [7, 9], "python32": 10, "python34": 20, "python64": 10, "python_path": 9, "pythonpath": 9, "pyton": 27, "pytup": [15, 24], "q": [1, 12, 13], "qdbp": 25, "quantifi": 22, "quantiti": 0, "queri": 9, "question": [9, 10], "quick": 7, "quickest": 7, "quickstart": 19, "quit": 9, "quot": 31, "quote_path": 31, "r": [1, 2, 4, 7, 9, 12, 13, 18, 25, 30], "rai": 9, "rais": [6, 30, 31], "random": [9, 31], "rang": [2, 17, 30], "re": [7, 9, 10, 12, 15, 20], "reach": 31, "read": [2, 3, 4, 9, 12, 15, 31], "readabl": 27, "readm": [15, 19], "readsol": [6, 31], "readsol_lp": 31, "readsol_mp": 31, "real": [11, 17, 21], "realist": 3, "realli": [2, 9, 12], "reason": [9, 12, 21], "reasonn": 31, "rebuild": 7, "recent": 10, "recomend": 9, "recommend": [10, 15, 18], "reconstruct": 12, "reduc": [3, 9, 12], "reducedcost": 31, "reelastic": 30, "refer": [0, 3, 4, 17, 31], "referenc": [0, 3], "reflect": [22, 30], "regard": 10, "rel": [22, 31], "relat": [1, 2, 30, 31], "relax": [6, 20], "releas": 31, "relev": [15, 17, 22, 30], "remaind": 17, "remov": [2, 6], "renam": 30, "repeat": [0, 20], "replac": [7, 11], "repo": 7, "report": [6, 10, 18, 20, 26], "repositori": 7, "repres": [0, 2, 4, 17, 30], "represent": 3, "reproduc": 10, "request": [0, 8], "requir": [0, 3, 6, 7, 9, 17, 18, 20, 25], "research": [21, 22], "reset": 30, "reshap": 25, "resolv": [0, 3, 4, 30, 31], "resourc": 4, "respect": [0, 2, 3, 27, 30], "rest": [0, 2, 3], "restart": 31, "restor": 12, "restrict": 22, "restructuredtext": 7, "result": [0, 2, 7, 9, 12, 17], "return": [0, 1, 2, 3, 6, 9, 11, 12, 13, 17, 20, 28, 30, 31], "return_cod": 6, "reus": 13, "revenu": [4, 22], "revis": [21, 22], "rh": [11, 18, 30], "rice": [0, 17], "right": [0, 9, 11, 15, 18], "rigour": 22, "rise": 3, "robust": 22, "roi": 18, "root": [18, 20], "roottim": 26, "round": [10, 17, 30, 31], "roundsolut": 30, "rout": 3, "route_a_2": 3, "route_tupl": 3, "routea1": 3, "routeb5": 3, "row": [2, 26], "rule": 2, "run": [0, 3, 8, 9, 10, 13, 18, 20, 22], "run_test": 7, "runner": 31, "s_w": 3, "safe": 9, "sai": 2, "sake": 9, "sale": 3, "salt": 0, "saltperc": 0, "saltrequir": 0, "same": [0, 2, 3, 9, 10, 12, 13, 17, 22, 30, 31], "satisfi": [2, 3, 7], "save": [3, 7, 12, 31], "scale": 3, "scenario": 4, "schedul": 3, "scip": [9, 15, 18, 31], "scip_cmd": [9, 31], "scip_pi": [9, 31], "scip_status": 31, "scratch": 17, "screen": [0, 2, 4], "script": [1, 20], "search": 31, "seat": [1, 12, 13], "seating_model": [1, 12, 13], "second": [0, 3, 6, 9, 31], "section": [0, 6, 9, 12, 17], "see": [0, 3, 9, 10, 12, 13, 15, 18, 25, 31], "seem": 2, "seen": [0, 6, 10, 12], "self": [6, 12, 17, 28, 30, 31], "send": [3, 7], "sens": [6, 11, 12, 18, 22, 28, 30], "sensedict": 31, "sent": 3, "separ": 0, "sequenc": 17, "seri": 9, "session": [9, 10], "set": [0, 2, 3, 4, 5, 6, 9, 12, 13, 15, 22, 23, 25, 28, 30, 31], "setconfiginform": 31, "setinitialvalu": [13, 30], "setobject": 30, "settmpdir": 31, "setup": [7, 9, 20], "sever": [2, 3, 9, 10, 12, 17, 18, 26], "shadow": [12, 30], "shadowpric": 31, "shall": 3, "share": [10, 31], "she": 3, "shell": 31, "ship": 3, "shipment": 3, "short": [0, 17], "shortcut": 22, "shorten": 27, "should": [0, 2, 3, 7, 9, 20, 22, 31], "show": [0, 3, 7, 9, 17, 31], "shown": [0, 2, 3, 9, 12, 17, 22, 31], "side": [11, 18, 30], "sign": [0, 30], "signific": 0, "significantli": 22, "silent_remov": 31, "similar": [2, 7, 9, 12, 17, 20, 31], "similarli": 3, "simpl": [0, 3, 9, 12, 15, 17, 18, 22], "simplest": 21, "simplex": [21, 22], "simpli": [0, 2, 3, 17], "simplif": 22, "sinc": [0, 2, 3, 9, 10, 21], "singl": 2, "site": [10, 20, 23, 25, 26, 27], "situat": [2, 3, 10, 22], "size": [12, 21], "slack": [10, 20, 31], "slx": 31, "small": [0, 3], "smaller": [1, 2], "smallest": 6, "smart": [15, 24], "so": [0, 2, 3, 4, 7, 9, 10, 12, 13, 15, 17, 18, 22, 30, 31], "softwar": [0, 20, 22], "sol": [6, 9], "sol_cod": 26, "sol_statu": [12, 31], "solfil": 6, "solut": [1, 4, 5, 6, 9, 10, 12, 13, 18, 20, 21, 26, 28, 30, 31], "solution_styl": 31, "solutionn": 31, "solutionstatu": 6, "solv": [0, 1, 2, 3, 4, 6, 9, 12, 13, 14, 15, 18, 20, 21, 25, 28, 30, 31], "solve_cbc": 31, "solveinst": 6, "solver": [0, 2, 4, 7, 8, 10, 14, 15, 18, 20, 21, 22, 26, 28, 29, 30], "solver_dict": 9, "solver_list": 9, "solverconstraint": 31, "solverdir": 31, "solvermodel": [6, 9, 31], "solvervar": 31, "some": [6, 7, 9, 10, 11, 12, 13, 15, 17, 21, 30, 31], "some_file_nam": 9, "some_modified_fil": 7, "some_mst_fil": 9, "someon": [0, 31], "someth": [9, 10, 28], "sometim": [3, 9, 10, 22], "somewher": [3, 9], "sorri": 9, "sort": [22, 30], "sorted_kei": 30, "sos1": 12, "sos2": 12, "sourc": [3, 8, 15, 18, 31], "special": [10, 18, 25], "specif": [0, 4, 10, 17, 23, 30], "specifi": [0, 1, 2, 3, 4, 11, 12, 13, 17, 21, 30, 31], "spend": 22, "sphinx": [7, 18], "split": [1, 6, 12, 13], "spongerol": 17, "squar": [0, 2, 17], "stack": 10, "stackoverflow": 10, "stage": [5, 15], "stakehold": 22, "stall": 31, "stand": 20, "standard": [0, 6, 12, 26], "start": [0, 2, 3, 14, 15, 17, 20, 22, 31], "state": [0, 1, 12, 13], "statement": [0, 2, 3, 23], "static": 31, "statu": [0, 2, 4, 6, 7, 9, 12, 18, 26, 28, 30, 31], "status_cod": 26, "status_sol": 6, "stderr": 6, "stdout": 6, "steel": 4, "steel_dict": 4, "steelpric": 4, "steelpurchas": 4, "step": [0, 7, 9, 11, 17, 22], "still": [0, 1, 2, 3, 12], "stock": 3, "stop": [17, 31], "store": [3, 6, 9, 12, 17], "str": [2, 4, 30, 31], "strateg": 22, "strategi": 31, "strict": 12, "strictli": 2, "string": [0, 17, 28, 30, 31], "string_append": 17, "stringov": 17, "strong": 31, "structur": [3, 6, 9, 12, 17, 23], "stuart": [0, 1, 2, 3, 13, 15, 18, 31], "studi": [1, 4, 15], "stuff": 0, "style": 7, "sub": 3, "subclass": 11, "subject": [4, 12], "sublist": 4, "submit": [7, 10], "subproblem": 30, "subprocess": [6, 31], "subsequ": 22, "subset": [1, 23, 30], "substitut": 3, "subtract": [20, 30], "success": [2, 30, 31], "successfulli": [0, 7], "sudden": 2, "sudermann": 2, "sudo": [9, 18, 20], "sudoku": [5, 15, 25], "sudoku1": 2, "sudoku2": 2, "sudokuout": 2, "suffici": 10, "suffix": 31, "suggest": [0, 18, 22], "suit": [8, 31], "suitabl": [20, 30, 31], "sullivan": [3, 15], "sum": [0, 2, 3, 17, 25, 30], "sum_": [3, 4, 30], "sum_of_products_into_bar": 3, "sum_of_products_out_of_warehouse_": 3, "sum_of_transporting_cost": 3, "summar": 9, "summari": [3, 7, 22], "summat": 4, "super": 12, "superdict": 27, "supersudoku": 25, "suppli": 3, "support": [10, 14, 17, 23, 25, 26, 30, 31], "suppos": 3, "sure": [0, 3, 7, 9, 20, 22], "swap": 6, "symbol": [17, 28], "symmetr": 11, "syntax": 23, "system": [6, 7, 9, 10, 18], "t": [2, 3, 4, 21, 22], "tabl": [0, 1, 2, 3, 12, 13], "table_": 12, "tactic": 22, "tag": 10, "tail": 17, "take": [0, 2, 3, 6, 10, 12, 22, 31], "taken": [4, 10, 12, 13], "talk": [3, 9, 22], "target": [11, 30], "tb": 28, "tcl": 31, "team": 15, "techniqu": 22, "tell": [3, 9], "temp": 9, "temporari": [14, 31], "term": [22, 30], "termin": 18, "test": [0, 8, 12, 18, 19, 26, 31], "test_export_dict_mip": 12, "test_pulp": [6, 7], "testlist": 17, "text": [0, 2, 9, 10, 31], "textbf": 0, "textsf": 30, "than": [0, 2, 3, 6, 9], "thei": [0, 3, 6, 9, 17, 18, 21, 22, 27], "them": [0, 2, 3, 9, 10, 12, 15, 17, 18], "therefor": 2, "thi": [0, 1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 15, 17, 20, 22, 28, 30, 31], "thing": [6, 9, 10, 31], "third": [0, 2], "those": [2, 3, 4, 9, 13], "though": [1, 12], "thread": 31, "three": 30, "through": [0, 3, 7, 17, 20, 22], "throughout": 17, "thu": [0, 2, 10], "tidi": 22, "time": [0, 2, 3, 6, 7, 12, 20, 21, 22, 26, 31], "timelimit": [6, 9, 31], "timemod": 31, "titl": 4, "tmp": [9, 31], "tmpdir": [9, 31], "tmpmp": 6, "tmpsol": 6, "to_dict": [12, 30, 31], "to_json": [12, 31], "to_str": 31, "todict": [9, 30, 31], "togeth": 17, "tojson": [9, 30, 31], "told": 17, "toler": 31, "tolist": 12, "ton": 27, "too": [12, 22], "tool": [4, 31], "top": [7, 17, 31], "topic": 15, "total": [0, 1, 3, 4, 13, 22, 31], "totalcost": 3, "totalrolllength": 17, "trace": 9, "transform": [12, 27], "translat": [22, 31], "transport": [5, 15], "tree": 31, "trick": 25, "trim": 17, "trimvalu": 17, "truck": 3, "true": [2, 6, 9, 10, 13, 17, 21, 30, 31], "try": [0, 2, 6, 9, 14, 17, 18], "tupl": [1, 2, 3, 12, 13, 15, 24, 30, 31], "tuplist": 27, "turn": [3, 13, 17], "tutori": 18, "tweak": 31, "two": [0, 3, 5, 6, 7, 9, 10, 11, 12, 13, 15, 18, 27], "two_stage_stochastic_gemstonetool": 4, "txt": [2, 7, 18], "type": [0, 11, 14, 18, 19, 20, 21, 25, 30, 31], "typeerror": 31, "typic": [9, 22], "u": [0, 3, 18], "ub": 25, "ub_p": 4, "ub_w": 4, "ujson": [9, 12], "unavail": 20, "unbalanc": 3, "unbound": [0, 20, 28, 31], "uncertainti": [4, 22], "unchang": 20, "uncl": 0, "unconstrain": 25, "undefin": [0, 28], "under": [17, 18, 22, 25], "understand": [10, 17, 22], "understood": 22, "undetermin": 30, "undo": 6, "unfortun": 12, "uniqu": [2, 12, 31], "unit": [0, 3, 4, 22], "unknown": [4, 17, 31], "unlik": 17, "unsaf": 31, "until": [9, 17], "up": [0, 3, 12, 17, 22, 30], "upbound": [0, 1, 12, 13, 30], "updat": [3, 17, 22], "upper": [0, 3, 30], "upperbound": 13, "us": [0, 1, 2, 3, 4, 6, 7, 10, 12, 13, 14, 15, 17, 20, 21, 22, 25, 26, 27, 30, 31], "usabl": [17, 31], "use_mp": 31, "user": [2, 9, 10, 15, 17, 31], "usernam": 7, "usual": [0, 3, 4, 6, 9, 10, 13, 22], "util": 20, "uuid": 31, "uuid4": 31, "v": [0, 2, 4, 10, 13, 31], "val": [2, 30], "valid": [13, 22], "valu": [0, 1, 2, 3, 4, 6, 9, 10, 11, 12, 14, 17, 18, 21, 22, 25, 28, 30, 31], "valueerror": 30, "var": [3, 31], "var1": 12, "vari": [0, 9, 30], "variabl": [1, 4, 6, 10, 14, 17, 18, 20, 21, 22, 25, 26, 31], "variablesnam": 31, "variou": 22, "varvalu": [0, 4, 12, 30], "ve": [9, 13, 30], "vector": [4, 30], "venv": 7, "veri": [0, 2, 3, 7, 9, 10, 12, 18, 21, 27], "versa": 27, "version": [7, 9, 10, 13, 18, 20, 26, 31], "via": [9, 10, 13, 21, 22, 31], "vice": 27, "video": 10, "violat": 30, "virtual": [7, 18], "vitamin": 0, "w": [2, 3, 4, 6], "w_": 4, "wa": [2, 3, 9, 10, 17, 30, 31], "wai": [0, 1, 2, 3, 6, 7, 9, 10, 12, 15, 17, 18, 20, 21, 22], "wall": 31, "want": [0, 7, 9, 10, 13, 15, 18, 22], "warehous": 3, "warm": [14, 15, 31], "warmstart": [9, 13, 30, 31], "warn": 6, "wast": 2, "water": 17, "we": [0, 1, 2, 3, 4, 6, 7, 9, 12, 13, 15, 18, 21, 22, 30], "websit": 17, "wed": [1, 13], "wedding_model": 12, "wedding_seating_model": 12, "wedding_var": 12, "week": [3, 22], "weight": 0, "welcom": 18, "well": [2, 6, 17, 22, 31], "were": [0, 2, 3, 17], "what": [0, 7, 10, 14, 17, 20, 22], "whatev": 9, "wheat": 0, "when": [0, 2, 3, 6, 7, 9, 10, 12, 13, 17, 31], "where": [2, 3, 11, 13, 14, 20, 21, 30, 31], "wherea": [2, 17], "wherebi": 17, "whether": [2, 31], "which": [0, 2, 3, 4, 7, 11, 14, 17, 18, 21, 22, 30, 31], "while": [0, 2, 4, 6, 13, 14, 21], "whilst": [0, 2, 3], "whiska": [0, 3], "whiskasmodel": 0, "whiskasmodel1": 0, "whiskasmodel2": 0, "who": 22, "whole": [0, 3, 7, 14, 26], "why": 22, "wide": 25, "wikipedia": [2, 17], "wil": 7, "willu47": [16, 23], "window": [7, 9, 18], "wise": 18, "wish": [0, 1], "with_objsens": 30, "with_traceback": 28, "within": [2, 4, 22], "without": [1, 17, 18, 27, 30], "won": 21, "word": 17, "work": [9, 10, 12, 13, 17, 20, 22, 31], "would": [0, 1, 2, 3, 4, 9, 13, 17, 20, 22, 31], "wrap": 31, "wrench": 4, "wrenchearn": 4, "write": [0, 2, 7, 14, 17, 20, 30, 31], "writelp": [0, 2, 3, 4, 10, 11, 30], "writemp": [6, 10, 12, 30], "writemst": 31, "writeslxsol": 31, "writeso": 30, "writesol": 31, "written": [0, 2, 4, 9, 11, 12, 15, 18, 20, 31], "www": 31, "x": [0, 1, 9, 11, 12, 13, 15, 17, 18, 24, 26, 30, 31], "x1": [0, 18], "x2": [0, 18], "x64_win64": 9, "x86": 9, "x_": 3, "x_0": 30, "x_1": [0, 21, 30], "x_2": [0, 21, 30], "x_3": [0, 21], "x_4": 0, "x_5": 0, "x_6": 0, "x_i": [21, 30], "x_n": 21, "x_name": 30, "xn": 18, "xpress": [9, 13, 15, 18, 20, 31], "xpress_cmd": 31, "xpress_pi": [9, 13, 31], "y": [12, 18, 25, 30], "yaposib": [20, 31], "year": 10, "yet": 13, "you": [0, 2, 3, 7, 9, 10, 12, 13, 15, 17, 18, 20, 21, 22, 23, 31], "your": [0, 3, 6, 7, 9, 10, 17, 18, 19, 21, 22, 25, 31], "yourself": 0, "z": [3, 12], "zero": [0, 1, 3, 17, 20, 30], "zip": [4, 17], "zipfil": 20, "\u00e0": 27}, "titles": ["A Blending Problem", "A Set Partitioning Problem", "A Sudoku Problem formulated as an LP", "A Transportation Problem", "A Two Stage Production Planning Problem", "Case Studies", "How to add a new solver to PuLP", "How to contribute to PuLP", "Developer Guides", "How to configure a solver in PuLP", "How to debug most errors during solving", "Elastic Constraints", "How to import and export models in PuLP", "How to warm-start a solver", "User Guides", "Optimization with PuLP", "Amply", "Basic Python Coding", "pulp", "Main Topics", "Installing PuLP at Home", "Optimisation Concepts", "The Optimisation Process", "amply: AMPL data manipulation", "Plugins", "PuLP_LPARRAY: PuLP x NumPy, a match made in heaven", "orloge: OR logs parser", "pytups: smart dictionaries and tuple lists", "pulp.constants", "PuLP Internal Documentation", "pulp: Pulp classes", "pulp.apis Interface to Solvers"], "titleterms": {"1": 12, "2": 12, "A": [0, 1, 2, 3, 4], "For": 18, "In": 3, "OR": 26, "The": [0, 17, 22, 30], "access": 9, "activ": 13, "actualsolv": 6, "ad": 6, "add": 6, "addit": 9, "ampl": 23, "ampli": [16, 23], "an": [2, 9], "anaconda": 10, "analysi": [3, 22], "api": [6, 9, 13, 31], "appli": 7, "arrai": 17, "ask": 10, "author": 15, "avail": 6, "base": 6, "basic": 17, "black": 7, "blend": 0, "bui": 3, "build": [7, 18], "case": 5, "caveat": 12, "cbc": 10, "check": 9, "class": [6, 17, 18, 30], "clone": 7, "cmd": 9, "code": 17, "combin": 30, "comment": 17, "comprehens": 17, "concept": 21, "conda": 10, "configur": 9, "consider": 12, "constant": 28, "constraint": [0, 2, 3, 11, 30], "contribut": [7, 18], "copyright": 18, "cplex": 9, "cplex_pi": 9, "creat": 7, "data": [12, 23], "debug": 10, "decis": [0, 2, 3], "defaultpath": 6, "descript": [0, 2, 3, 22], "develop": [8, 18], "dictionari": [17, 27], "document": [7, 18, 29], "dure": 10, "elast": 11, "environ": 9, "error": 10, "essenti": 18, "ex": 10, "exampl": [6, 12, 13, 18], "execut": 10, "expert": 2, "export": [9, 12], "express": 30, "extens": 3, "extra": [2, 6], "featur": 17, "feedback": 10, "file": 9, "fill": 13, "fix": 13, "fork": 7, "formatt": 7, "formul": [0, 2, 3, 22], "from": [7, 20], "full": 0, "function": [0, 2, 3, 9, 17, 18], "get": 22, "give": 10, "group": 12, "guid": [8, 14], "gurobi": 9, "ha": 9, "heaven": 25, "help": 10, "home": 20, "how": [6, 7, 9, 10, 12, 13], "i": 9, "identifi": [0, 2, 3], "import": [9, 12, 17], "includ": 6, "infeas": 10, "inherit": 6, "instal": [7, 9, 18, 20], "integ": 21, "integr": 9, "interfac": 31, "intern": 29, "issu": 10, "json": 12, "jupyt": 10, "languag": 17, "licens": 18, "linear": 21, "linter": 7, "linux": 20, "list": [17, 27], "log": 26, "loop": 17, "lp": 2, "lpproblem": 30, "made": 25, "main": 19, "make": [6, 7], "manipul": 23, "match": 25, "mathemat": 22, "method": 6, "mip": 13, "model": [3, 12, 22], "monitor": 3, "more": 18, "most": 10, "mp": 12, "new": 6, "note": 17, "notebook": 10, "numpi": [12, 25], "object": [0, 2, 3], "offici": [6, 9], "ongo": 3, "optim": [15, 22], "optimis": [21, 22], "orlog": 26, "other": 17, "panda": 12, "parser": 26, "partit": 1, "path": 9, "per": 9, "perform": 22, "permut": 30, "pip": 20, "plan": 4, "plugin": 24, "post": 22, "present": [3, 22], "problem": [0, 1, 2, 3, 4, 10, 13, 22], "process": 22, "product": 4, "program": [21, 22], "project": 7, "pull": 7, "pulp": [3, 6, 7, 9, 12, 15, 18, 20, 25, 28, 29, 30, 31], "pulp_lparrai": 25, "pypi": 20, "python": 17, "pytup": 27, "quickstart": 18, "request": 7, "run": 7, "set": 1, "simplifi": 0, "smart": 27, "solut": [0, 2, 3, 22], "solv": [10, 22], "solver": [6, 9, 13, 31], "some": 22, "sourc": [7, 20], "specif": 9, "stage": 4, "start": 13, "statement": 17, "storag": 3, "studi": 5, "sudoku": 2, "suit": 6, "support": 13, "syntax": 17, "temporari": 9, "test": [6, 7, 20], "todo": 30, "topic": 19, "transport": 3, "try": 10, "tupl": [17, 27], "two": 4, "type": [9, 12, 17], "us": [9, 18], "user": 14, "valid": 3, "valu": 13, "variabl": [0, 2, 3, 9, 12, 13, 30], "warm": 13, "what": 9, "where": 9, "which": 9, "while": [10, 17], "whole": 13, "window": 20, "write": 9, "x": 25, "your": 20}}) \ No newline at end of file