IntegerProgramming
IntegerProgramming
Programming = Planning in this context
Origins go back to military logistics in WWII
(1940s).
In a survey of Fortune 500 firms, 85% of those
responding said that they had used linear or
integer programming.
Why is
IP m o d e ling te c h niq ue s I
In this handout,
Modeling techniques:
Using binary variables
Restrictions on number of options
Contingent decisions
Variables (functions) with k possible values
Applications:
Facility Location Problem
Knapsack Problem
Exa
Math4630/5630
DiscreteModelingandOptimization
Aschematicviewof
modeling/optimizationprocess
Real-world
problem
assumptions,
abstraction,data,
simplifications
makes sense?
change the model,
assumptions?
Solution to
real-world
problem
Mathematical
model
opt
IPmodelingtechniquesII
In this handout,
Modeling techniques:
Either-Or Constraints
Big M method
Balance constraints
Fixed Charges
Applications:
Multi-period production planning
Inventory management
Modelingtechnique:
EitherOrConstraints
In some situation
Consultant hiring problem:
Modeling on AMPL
1
Outline of modeling process
1.
2.
Carefully read the problem to get a general idea
Analyze each paragraph to extract all relevant data and
information:
a) Identify given data and define corresponding sets,
par
SolutionmethodsforNPhardDiscrete
OptimizationProblems
Three main directions to solve
NP-hard discrete optimization problems:
Integer programming techniques
Approximation algorithms
Heuristics
On time-accuracy tradeoff schedule:
Brute force
Integer
prog
SolutionmethodsforDiscrete
OptimizationProblems
Computationalcomplexityof
discreteoptimizationproblems
In terms of complexity of solution methods, discrete
optimization problems can be divided into two classes:
1) Problems that have efficient algorithms
Math 4630/5630
Applications of Integer Programming
1. Fair representation in electoral systems.
Suppose that a state sends R persons to the U.S. House of Representatives. There are D
counties in the state (D>R), and the state legislature wants to group th
IPmodelingtechniquesIII
In this handout,
Modeling techniques:
Making choices with non-binary variables
Piecewise linear functions
Makingchoiceswithnonbinaryvariables
Recall the furniture manufacturer problem.
Extra requirement: From the 3 possible pro
Math 4630/5630
Homework 4
(Problems 2 and 3 are due Wednesday, April 1)
Problem 1. Solving IP.
Consider the following IP problem.
Maximize
Z = 11x1 + 4x2
s.t.
5x1 + 2x2 16
2x1 - x2 4
-x1 + 2x2 4
x1 , x2 0 integer
a) Solve the integer program graphically.
We have the following incomplete B&B tree:
S7
S3
S1
Z=88.5
Z=81.2
Z=84.7
S4
Z=75
All
S8
int
Z=77
S9
S5
Z=80.3
Z=93.2
Z=76.4
S10
S2
Z=79.1
Z=82.4
S6
S11
Z=78.5
Z=75.8
int
What is the current incumbent? What is its
value?
Give as tight as possible lower a
AlgorithmsforNetworkOptimization
Problems
This handout:
Minimum Spanning Tree Problem
Approximation Algorithms
Traveling Salesman Problem
TerminologyofGraphs
A graph (or network) consists of
a set of points
a set of lines connecting certain pairs of
DynamicProgramming
In this handout
Stochastic Dynamic Programming
ProbabilisticDynamicProgramming
So far we have assumed that a specification of the
current state and current decision is enough to
determine with certainty the state we will end up
in the n
Integerprogrammingsolutionsforgraph
problems
In this handout
Assignment Problem
Coloring Problem
Assignment Problem
Given: n people and n jobs
Each person can be assigned to exactly one job
Each job should be assigned to exactly one person
Person-job c
SolvingIntegerPrograms
Naturalsolutionideasthatdontworkwell
Solution idea #1:
Explicit enumeration: Try all possible solutions and pick the best one.
max 3x1 + 2x2 + 4x3
Example:
s. t.
x1 + x2 + x3 1
x1 + 2x2 + x3 2
x1 + x2 - 2x3 0
x1 , x2 , x3 binary
C
MathematicalModelingandOptimization:
SummaryofBigIdeas
Aschematicviewof
modeling/optimizationprocess
Real-world
problem
assumptions,
abstraction,data,
simplifications
makes sense?
change the model,
assumptions?
Solution to
real-world
problem
Mathematical
BranchandBound
In this handout,
Summary of branch-and-bound for integer programs
Updating the lower and upper bounds for OPT(IP)
Summary of fathoming criteria
Which variable to branch on?
Which open subproblem to solve first?
Optimality test
Branch-and-
BranchandBoundTechniquefor
SolvingIntegerPrograms
In this handout
Basic concepts
Introducing the technique based on an example
BasicConcepts
The basic concept underlying the branch-and-bound technique
is to divide and conquer.
Since the original large p
ChristofidesalgorithmforTSP
Given an instance for TSP problem,
1. Find a minimum spanning tree T for that instance.
2. Find a min-cost perfect matching M for odd-degree nodes
of T.
3. T M has an Euler tour; traverse the arcs of the Euler tour,
by taking s
DynamicProgramming
In this handout
A shortest path example
Deterministic Dynamic Programming
Inventory example
Resource allocation example
DynamicProgramming
Dynamic programming is a widely-used mathematical
technique for solving problems that can be
CuttingPlanesII
TheKnapsackProblem
Recall the knapsack problem:
n items to be packed in a knapsack
(can take multiple copies of the same item).
The knapsack can hold up to W lb of items.
Each item has weight wi lb and benefit bi .
Goal: Pack the knapsa
Practice Problem.
Pintrot Cloth Company is capable of manufacturing three types of clothing: shirts, shorts,
and pants. The manufacture of each type of clothing requires Pintrot to have the
appropriate type of machinery available. The machinery needed to