Top Banner
Introduction to Mixed Integer Linear Programming
33

Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Feb 01, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology

Introduction to Mixed Integer Linear Programming

Page 2: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 2

Overview of module:

• Introduction and motivation. • Fundamentals concepts and mathematics in mixed

integer linear programming. • The basic algorithms:

– Branch-and-bound – Branch-and-cut

• Briefly on heuristics and decomposition approaches. • Software. • Examples on applications from real-world problems.

Page 3: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 3

Learning outcome of course module

1. Basic understanding of mixed integer linear programming.

2. Know the basic differences between integer and continuous optimization.

3. Be able to formulate a MIP model based on a problem with discrete decision variables.

4. Knowledge of applications of MIP in control engineering, energy systems and economics.

Page 4: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 4

What is fundamentaly different from continuous optimization?

• The feasible region consists of a set of disconnected integer points.

• Gradient-based algorithms cannot be directly applied.

• No conditions similar to the KKT conditions to prove first order optimality.

Source: http://www.zib.de/en/optimization/mip/projects-long/exactip.html

Page 5: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 5

Motivation

• Mixed integer programming is used to solve optimization problems with discrete decisions in a wide range of disciplines: – Operations research (production planning, management

science, finance, logistics) – Electric power production – Chemical engineering – Petroleum production – Control engineering

• The next slides contain particular examples of mixed integer programming applications in these disciplines.

Page 6: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 6

Operations research

• Designing airline crew schedules: – Pair (assign duty periods) airline crews that cover every flight leg at the least cost. – Must satisfy legal rules such as limited total flying time, minimum rest time, etc.

• Train scheduling: – Find a feasible train schedule that secures sufficient transit time for passengers with

connections, assigning trains to single tracks such that train collisions are avoided (hard constraint!), and minimize excessive wait time for trains.

• Production planning: – Given a set of X products to be produced in Y factories, with final shipment to Z sales areas. – Products are produced in batches, with both fixed and marginal costs. – Maximize profit/ minimize cost with respect to seasonal demands.

• Allocating lecture halls at NTNU:

Source: Wikipedia

Page 7: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 7

Electric power production

The hydro-thermal unit-commitment (UC) dispatch problem: Given a set of electric-power generating units with different characteristics:

– Maximum output power (e.g. 400 MW). – Efficiency curves. – Start-up cost, start-up time and minimum up/down times. – Emission level constraints.

Given a certain planning horizon (e.g. 24 hours): Select units such that

– The power demand is satisfied for all time periods . – Fuel costs or emissions are minimized, or profit is maximized. – The generating units have a certain excess reserve capacity due to demand uncertainty. – The unit schedule must satisfy a certain security level.

Source: powerop.co.uk

Page 8: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 8

Chemical engineering

• The blending/pooling problem: How to best blend raw ingredients in pools to form a desired output of products.

• Optimal design of distillation columns: Separation of components in a mixture passed through distillation units. Decision variables can be selecting the number of trays and feed locations, and the location of output streams (products).

• Optimal reactor selection and configuration:

Source: intechopen.com

Source: Grossmann and Trespalacios (2013)

Page 9: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 9

Petroleum production optimization

• Optimization of gas flow and routing in the natural-gas value chain: Meet seasonal varying gas demands, contractual obligations, minimize fuel consumption of compressors, etc.

• Maximize revenues of oil and gas subject to constraints in the reservoir and wells, and the gathering system, for instance the capacity of separators and compressors.

Source: sintef.no

Source: Gunnerud and Foss (2010)

Page 10: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 10

Motion control and hybrid systems

• Collision avoidance in trajectory-planning for aircrafts, UAVs and vehicles: – Avoid multiple vehicles colliding. – Obstacle avoidance for single vehicles.

• General hybrid predictive control: MPC with discrete variables. Numerous applications in chemical, mechanical and electrical engineering.

Source: staff.blog.utm.my/vse/?p=276

Page 11: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 11

Definitions of problems with discrete variables

Comments on notation: • The expression mixed integer program and mixed integer problem is used

interchangeably, both referring to a mathematical problem with continuous and discrete variables.

Page 12: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 12

Definitions: General MILP

Page 13: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 13

Mixed binary linear program:

(Linear) Integer program (IP):

Page 14: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 14

Examples on formulating IPs and MILPs:

Problem can be formulated as the linear integer program (IP):

Page 15: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 15

Numerical example: GAP

Page 16: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 16 Source: http://disopt.epfl.ch/page-31527-en.html

Page 17: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 17

Numerical example (UFL)

Page 18: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 18

General model formulations requiring integer variables Fixed costs:

Page 19: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 19

Implications and conditions:

Page 20: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 20

Systematical derivation of linear inequalities from logic propositions

Page 21: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 21

Example

Page 22: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 22

Disjunctive constraints:

Source: Grossmann and Trespalacios (2013)

Page 23: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 23

Assignment: modeling logical conditions with binaries

Page 24: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 24

How to prove optimality?

Page 25: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 25

Relaxations

The basic idea of a relaxation is to replace a “difficult” problems with a simpler optimization problem which provides a lower bound for J (minimization):

Two possibilities:

Enlarge the set of feasible solutions. Replace the objective function by a function which is

guaranteed to be smaller over the entire set of feasible solutions.

MILP:

Page 26: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 26

LP relaxation of MILP MILP: LP:

Relaxing integrality condition on y

Page 27: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 27

Corresponding LP relaxation of binaries IP: LP:

Relaxing 0/1 condition on y

Page 28: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 28

Basics of polyhedral theory (1/3)

Page 29: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 29

Basics of polyhedral theory (2/3)

Given IP:

Page 30: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 30

Basics of polyhedral theory (3/3)

Page 31: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 31

Valid inequalities and different formulations

Page 32: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 32

Solving IP as LP:

Page 33: Introduction to Mixed Integer Linear Programming · 1. Basic understanding of mixed integer linear programming. 2. Know the basic differences between integer and continuous optimization.

Norwegian University of Science and Technology 33

The two basic approaches for solving MILP/IP