Linear Programming and Mixed-Integer Linear Programming
Before you begin to solve an optimization problem, you must choose the appropriate approach: problem-based or solver-based. For details, see First Choose Problem-Based or Solver-Based Approach.
For the problem-based approach, create problem variables, and then
represent the objective function and constraints in terms of these symbolic
variables. For the problem-based steps to take, see Problem-Based Optimization Workflow. To
solve the resulting problem, use
For the solver-based steps to take, including defining the objective
function and constraints, and choosing the appropriate solver, see Solver-Based Optimization Problem Setup. To solve the
resulting problem, use
intlinprog when there are
integer constraints, or use
linprog when there are no
Solve and Analyze, Problem-Based
|Evaluate optimization expression|
|Find numeric index equivalents of named index variables|
|Constraint violation at a point|
|Create optimization problem|
|Create optimization variables|
|Convert optimization problem or equation problem to solver form|
|Solve optimization problem or equation problem|
Import and Solve Problems, Solver-Based
|Mixed-integer linear programming (MILP)|
|Solve linear programming problems|
|Read MPS file for LP and MILP optimization data|
Live Editor Tasks
|Optimize||Optimize or solve equations in the Live Editor|
Problem-Based Mixed-Integer Linear Programming
- Mixed-Integer Linear Programming Basics: Problem-Based
Simple example of mixed-integer linear programming.
- Factory, Warehouse, Sales Allocation Model: Problem-Based
This example shows how to set up and solve a mixed-integer linear programming problem.
- Traveling Salesman Problem: Problem-Based
This example shows how to use binary integer programming to solve the classic traveling salesman problem.
- Optimal Dispatch of Power Generators: Problem-Based
This example shows how to schedule two gas-fired electric generators optimally, meaning to get the most revenue minus cost.
- Office Assignments by Binary Integer Programming: Problem-Based
This example shows how to solve an assignment problem by binary integer programming using the optimization problem approach.
- Mixed-Integer Quadratic Programming Portfolio Optimization: Problem-Based
This example shows how to solve a Mixed-Integer Quadratic Programming (MIQP) portfolio optimization problem using the problem-based approach.
- Cutting Stock Problem: Problem-Based
This example shows how to solve a cutting stock problem using linear programming with an integer linear programming subroutine.
- Minimize Makespan in Parallel Processing
Minimize the maximum time for a set of processors to complete a group of tasks.
- Solve Sudoku Puzzles via Integer Programming: Problem-Based
This example shows how to solve a Sudoku puzzle using binary integer programming.
Solver-Based Mixed-Integer Linear Programming
- Mixed-Integer Linear Programming Basics: Solver-Based
Simple example of mixed-integer linear programming.
- Factory, Warehouse, Sales Allocation Model: Solver-Based
Example of optimizing logistics in a small supply chain.
- Traveling Salesman Problem: Solver-Based
The classic traveling salesman problem, with setup and solution.
- Optimal Dispatch of Power Generators: Solver-Based
Example showing how to schedule power generation when there is a cost for activation.
- Office Assignments by Binary Integer Programming: Solver-Based
Solve an assignment problem using binary integer programming.
- Mixed-Integer Quadratic Programming Portfolio Optimization: Solver-Based
Example showing how to optimize a portfolio, a quadratic programming problem, with integer and other constraints.
- Cutting Stock Problem: Solver-Based
Solve a cutting stock problem using linear programming with an integer programming subroutine.
- Solve Sudoku Puzzles via Integer Programming: Solver-Based
Sudoku is a type of puzzle that you can solve using integer linear programming.
Problem-Based Linear Programming
- Set Up a Linear Program, Problem-Based
Linear problem formulation using the problem-based approach.
- Maximize Long-Term Investments Using Linear Programming: Problem-Based
Optimize a deterministic multiperiod investment problem using linear programming and the problem-based approach.
- Create Multiperiod Inventory Model in Problem-Based Framework
Create an inventory model, where stock is carried between time periods, in the problem-based approach.
Solver-Based Linear Programming
- Set Up a Linear Program, Solver-Based
Problem formulation using the solver-based approach.
- Typical Linear Programming Problem
This example shows the solution of a typical linear programming problem.
- Maximize Long-Term Investments Using Linear Programming: Solver-Based
Optimize a deterministic multiperiod investment problem using linear programming.
Model and Analyze Linear and Integer Problems
- Integer and Logical Modeling
Techniques for modeling with integer constraints using "Big-M" and other techniques.
- Investigate Linear Infeasibilities
Find out which linear constraints cause a problem to be infeasible.
- Problem-Based Optimization Algorithms
Learn how the optimization functions and objects solve optimization problems.
- Supported Operations for Optimization Variables and Expressions
Explore the supported mathematical and indexing operations for optimization variables and expressions.
Solver-Based Algorithms and Options
- Linear Programming Algorithms
Minimizing a linear objective function in n dimensions with only linear and bound constraints.
- Mixed-Integer Linear Programming (MILP) Algorithms
The algorithms used for solution of mixed-integer linear programs.
- Optimization Options Reference
Explore optimization options.
- Tuning Integer Linear Programming
Steps for improving solutions or solution time.
- intlinprog Output Function and Plot Function Syntax
How to monitor the progress of the