• Home
  • Blog
  • Services
  • Resources
    • Links
    • Models
  • About
  • Contact
  1. Home
  2. Blog

Production mix - Conclusions

16 March 2023 (1,756 words)

Production mix - Conclusions

In this article we conclude the Python Production mix series. We provide a summary of the optimization libraries that we've used, including the advantages and disadvantages of each. We also indicate which library is our first choice for different types of modelling.

Our objective in this series has been to compare creating a simple linear programming model in a variety of Python libraries, using Pyomo as a baseline.

  • Python
  • CVXPY
  • PuLP
  • Pyomo
  • OR-Tools
  • Gekko
  • SciPy

Read more …

Production mix - Model 11, SciPy

10 March 2023 (1,518 words)

SciPy

In this article we continue the Python Production mix series. Specifically, we build Model 11 using the SciPy library.

SciPy is an open source Python package for a wide range of scientific computing applications, including optimization, integration, interpolation, eigenvalue problems, algebraic equations, differential equations, statistics and many other classes of problems.

Our objective is to compare a linear programming model built using SciPy with the same model built using Pyomo.

  • Python
  • SciPy

Read more …

Production mix - Model 10, CVXPY

12 December 2022 (1,451 words)

CVXPY

In this article we continue the Python Production mix series. Specifically, we build Model 10 using the CVXPY library.

CVXPY is an open source Python package for representing and solving convex optimization problems.

Our objective is to compare a model built using CVXPY with the same model built using Pyomo.

  • Python
  • CVXPY

Read more …

Production mix - Model 9, Gekko

22 November 2022 (1,512 words)

Gekko

In this article we continue the Python Production mix series. Specifically, we build Model 9 using the Gekko library.

Gekko is a Python package for machine learning, optimization of mixed-integer, and differential algebraic equations.

Our objective is to compare a model built using Gekko with the same model built using Pyomo.

  • Python
  • Gekko

Read more …

Production mix - Model 8, OR-Tools

31 October 2022 (1,371 words)

OR-Tools

In this article we continue the Python Production mix series. Specifically, we build Model 8 using the OR-Tools library.

OR-Tools is a project from Google. The library is freely available, the code is open source, and it is widely used.

Our objective is to compare a model built using OR-Tools with the same model built using Pyomo.

  • Python
  • OR-Tools

Read more …

Production mix - Model 7, PuLP

4 October 2022 (1,325 words)

PuLP

In this article we continue the Python Production mix series. Specifically, we build Model 7 using the PuLP library.

PuLP, like Pyomo, is a COIN-OR project. The library is freely available, the code is open source, and it is widely used.

Our objective is to compare a model built using PuLP with the same model built using Pyomo.

  • Python
  • PuLP

Read more …

Production mix - Model 6, Pyomo abstract

21 September 2022 (1,571 words)

Abstract

In this article we continue the Python Production mix series, using the Pyomo library. Specifically, we build Model 6, which changes Model 5 to:

  • Declare the model as a Pyomo pyo.AbstractModel, rather than as a pyo.ConcreteModel.
  • Read the data from a dat file rather than a json file.

These changes show that, contrary to how abstract and concrete models are portrayed in most blogs, there is actually little difference between abstract and concrete Pyomo models.

  • Python
  • Pyomo

Read more …

Production mix - Model 5, Pyomo using def

5 September 2022 (1,891 words)

Light steps

In this article we continue the Python Production mix series, using the Pyomo library. Specifically, we build Model 5, which changes Model 4 to:

  • Define the constraints and objective function using def function blocks.
  • Output the slack values and dual prices (also known as shadow prices) for each constraint.

These changes give us more control over how the model is defined and provide more information about the solution.

  • Python
  • Pyomo

Read more …

Production mix - Model 4, Pyomo json file

16 August 2022 (1,815 words)

Blue steps

In this article we continue the Python Production mix series, using the Pyomo library. Specifically, we build Model 4, which changes Model 3 to:

  • Import the data from an external json file.
  • Read the data into the Model object, rather than into separate objects.

These changes reflect features that we may need to include in an operational model.

  • Python
  • Pyomo

Read more …

Production mix - Model 3, Pyomo external data

2 August 2022 (2,002 words)

Fitting pieces

In this article we continue the Python Production mix series, using the Pyomo library. Specifically, we build Model 3, which improves Model 2 by:

  • Extracting the data from the model, and putting it in an external file.
  • Implementing better handling of the solve process.
  • Expanding the output to include additional information.

Each of these improvements are important steps in developing a practical design that can be used for operational models.

  • Python
  • Pyomo

Read more …

Page 1 of 5

  • 1
  • 2
  • 3
  • 4
  • 5

Search

Latest blog articles

  • Production mix - Conclusions
  • Production mix - Model 11, SciPy
  • Production mix - Model 10, CVXPY
  • Production mix - Model 9, Gekko
  • Production mix - Model 8, OR-Tools
  • Production mix - Model 7, PuLP
  • Production mix - Model 6, Pyomo abstract
  • Production mix - Model 5, Pyomo using def
  • Production mix - Model 4, Pyomo json file
  • Production mix - Model 3, Pyomo external data
  • Production mix - Model 2, Pyomo separate data
  • Production mix - Model 1, Pyomo concrete

Latest resources

  • Post Office problem in OR-tools CP-SAT solver
  • Nature inspired methods for optimization
  • Mathematical Programming with Julia
  • Julia programming for Operations Research
  • Convex optimization
  • EdX: Convex optimization
  • EdX: Mathematical optimization for engineers
  • Coursera: Optimization for decision making
  • Coursera: Discrete optimization
  • Coursera: Discrete optimization (series)
  • Coursera: Operations Research (series)
  • MIT OpenCourseWare

Social

Twitter   Buy me a coffee   LinkedIn   GitHub   Mastodon

© 2020-2023 Solver Max

Term and conditions   Privacy   Contact us