# 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 `solve`

.

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
integer constraints.

## Functions

## Live Editor Tasks

Optimize | Optimize or solve equations in the Live Editor |

## Topics

### 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

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 Algorithms

**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

Minimizing a linear objective function in *n* dimensions with
only linear and bound constraints.

**Mixed-Integer Linear Programming 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 `intlinprog`

solution
process.