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

Optimization models

We've collated many interesting, publicly available optimization models in our GitHub repository. Our focus is on models that are built using Excel and/or Python. Each model includes a brief description along with source code.

The model links are organized into the following categories:

Blending

Diet

Blending optimization problems involve combining several resources or materials to create products that meet specific requirements at lowest cost. The blending may include many different types of materials, such as: cement, wine, oil products, and feed stocks.

Diet

Diet

The "Diet Problem" is one of the earliest applications of linear programming. The objective is to minimize the cost of food while complying with daily nutritional intake requirements. George Dantzig first solved the problem as a linear program, based on earlier work by Nobel Laureate George Stigler.

Finance

Diet

There are many interesting optimization problems in finance, including: portfolio optimization, risk management, option pricing, and investment decision support.

Job shop

Diet

We need to schedule some jobs on a set of machines. The jobs may have different characteristics, such as processing times, priorities, and precedents. The machines may have different characteristics, such as processing power and capabilities. The objective could be to minimize the makespan (total length of the schedule), meet deadlines, minimize cost, or some other requirement.

Knapsack

Sack

The "Knapsack Problem" is a very common application of optimization modelling. That is, given a set of items, each with a weight and a value, determine the number of each item to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible. There are numerous variations of the knapsack problem.

Non-linear

Non-linear

This category includes models specifically intended to demonstrate how to formulate and solve models with non-linear constraints and/or objective function. Some of the models include binary and integer variables. These models are mostly solved using the IPOPT, Bonmin, or Couenne solvers.

Staff scheduling

Diet

The Staff Scheduling Problem involves finding an optimal way to assign people to meet work requirements, allowing for a variety of constraints. The modelled situations are often complex and difficult to solve. A special case, often used to represent the whole category, is called the Nurse Scheduling Problem or the Nurse Rostering Problem. Potential solution techniques include: mixed integer programming, constraint satisfaction, and genetic algorithms.

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