Download presentation
Presentation is loading. Please wait.
1
Chapter 1. Formulations (BW)
2
Integer Optimization Problem (IP) min (max) π β² π₯
Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min (max) π β² π₯+ π β² π¦ π΄π₯+π΅π¦=π (or π΄π₯+π΅π¦β€π) π₯β π + π , π¦β π
+ π , where π΄β π πΓπ , π΅β π πΓπ , πβ π π , πβ π π , πβ π π Integer Optimization Problem (IP) min (max) π β² π₯ π΄π₯=π π₯β π + π Binary (or zero-one) Integer Optimization Problem (BIP) π₯β 0, 1 π ( or π₯β π΅ π ) Integer Programming 2018
3
Combinatorial Optimization Problem
Given a finite set π= 1,β¦,π , weights π π for each πβπ, and a set πΉ of feasible subsets of π. Want to find a minimum (or maximum) weight feasible subset in πΉ. (COP) min πβπ πβπ π π :πβπΉ Almost all COPs can be formulated as IP or BIP Knapsack problem, Traveling Salesman Problem, Min/Max cut of graph, Stable set, Steiner Tree, β¦ Integer Programming 2018
4
Applications Numerous applications
Transportation (train scheduling) Airline crew scheduling, plane scheduling Production planning, distribution, SCM, logistics Energy, Eletricity generation planning Telecommunicaton network design, operation Buses for the handicapped Ground holding of aircraft Cutting problems β¦. Too many to list. Provides very strong modeling capabilities (much better than LP alone), but usually difficult to solve (The solution set is not convex) Paradigm change: linear ο« nonlinear ο convex ο« non-convex Recent advances in theory and software makes IP a practical option. Integer Programming 2018
5
1.1 Modeling Techniques Steps
Define necessary variables Define (construct) constraints so that feasible points correspond to the feasible solutions of the problem Define objective function May exist many correct, but different formulations. Needs creativity. Which formulation is better? Frequently, use incidence vectors to denote sets πβπ={1,β¦,π}, incidence vector of π is πβdimensional vector π₯π such that π₯ π π =1 if πβπ and π₯ π π =0 otherwise. Integer Programming 2018
6
Binary choice The 0-1 knapsack problem π items
π π >0 is the weight of item π, and π π >0 is its value Bound π on the weight that can be carried in a knapsack (usually assume π π , π π ,π are integers) Select items to be put in the knapsack so that the total value is maximum. π₯ π =1 if item π is selected, and π₯ π =0 otherwise The capacity bound cannot be exceeded: π=1 π π π π₯ π β€π Variables are 0-1: π₯ π β 0, 1 for π=1,β¦,π Total value is maximized: max π=1 π π π π₯ π Integer Programming 2018
7
May be the most widely studied basic model of combinatiorial optimization problems. Frequently, knapsack constraint appears as a substructure (constraint) of a larger model. Variations Integer knapsack problem Precedence constrained knapsack problem Partial orders on projects project π must be done to perform project π ( πβπ ) ( can be represented as directed graph, use π₯ π β₯ π₯ π in constraints (π₯: binary), forcing constraint) ex) repair kit selection, selecting tools for FMS tool magazine, open pit mining, β¦ Quadratic knapsack problem: Objective is quadratic function Integer Programming 2018
8
Boolean Quadratic Function
max π π₯ = π=1 π π π π₯ π + π,π,πβ π π ππ π₯ π π₯ π , π₯ π β 0,1 for all π. ( use additional variables π¦ ππ , such that π¦ ππ = π₯ π π₯ π for binary π₯. Extended formulation.) ο max π=1 π π π π₯ π + π,π,πβ π π ππ π¦ ππ π₯ π + π₯ π β π¦ ππ β€1 β π₯ π + π¦ ππ β€0 β π₯ π + π¦ ππ β€ for all π, π, πβ π π₯ π , π¦ ππ β 0, 1 for all π, π constraints ensure that π₯ π = π₯ π = βΊ π¦ ππ =1 The technique can be used in reformulation and linearization method for IP. Integer Programming 2018
9
Ex: quadratic knapsack problem, max cut of a graph
Def: Given a graph πΊ=(π, πΈ), and subset πβπ of vertices, the set of edges with exactly one endpoint in π is called a cut (relative to π). Given πΊ=(π, πΈ), and edge weights π ππ , π=(π,π)βπΈ, find a maximum weight cut of πΊ. max (π,π)βπΈ π ππ π₯ π 1β π₯ π + 1β π₯ π π₯ π π₯ π β 0,1 for all π (may add constraint π₯ 1 =1 ) (π π‘βcut also can be formulated, set π₯ π =1, π₯ π‘ =0) Note: max cut problem is difficult to solve (NP-hard), but min cut problem is easy (max-flow min-cut theorem). Integer Programming 2018
10
Forcing constraints Decision A (π₯=1) can be made only if decision B (π¦=1) also has been made. π₯β€π¦ Uncapacitated Facility Location (UFL) Given potential depots π= 1,β¦,π , and a set π= 1,β¦,π of clients. Fixed cost π π to open depot π, and transportation cost π ππ if all of client π β² π order is delivered from depot π. Determine which depots to open, and which depot serves each client so as to minimize the total cost. Define π¦ π =1 if depot π is open, and π¦ π =0 otherwise π₯ ππ is fraction of the demand of client π satisfied from depot π. Satisfaction of demand of client π : π=1 π π₯ ππ =1 for π=1,β¦,π. Integer Programming 2018
11
if depot π not opened, then π₯ ππ =0. βΉ π₯ ππ β€ π¦ π for πβπ, π¦ π β 0, 1
min π=1 π π π π¦ π + π=1 π π=1 π π ππ π₯ ππ s.t. π=1 π π₯ ππ =1 for πβπ π₯ ππ β€ π¦ π for πβπ, πβπ 0β€ π₯ ππ β€1 for πβπ, πβπ, π¦ π β 0, 1 for πβπ Note that there exists an optimal solution with π₯ ππ =0 or 1. Capacitated version? Integer Programming 2018
12
Relation between variables
π=1 π π₯ ππ β€ = 1, π₯β π΅ π : Generalized upper bound (GUB) constraint Integer Programming 2018
13
Disjunctive constraints
Assume π₯β₯0 π β² π₯β₯π, π β² π₯β₯π, π, πβ₯0 at least one of the two constraints needs to be satisfied ο π β² π₯β₯π¦π, π β² π₯β₯ 1βπ¦ π, π¦β 0, 1 General form: π π β² π₯β₯ π π , π=1,β¦,π ( π π β₯0 for all π) (at least π out of π constraints needs to be satisfied) ο π=1 π π¦ π β₯π, π π β² π₯β₯ π π π¦ π , π¦ π β 0, 1 , π=1,β¦,π. Ex) machine scheduling: two jobs must be processed on the same machine and cannot be processed simultaneously. π π : processing time of job π, π‘ π : start time of job π, ο either π‘ 2 β₯ π‘ 1 + π or π‘ 1 β₯ π‘ 2 + π 2 should hold. (need a different formulation from above, using big π) Integer Programming 2018
14
Machine scheduling formulation: π‘ 2 β π‘ 1 β₯ π 1 βππ¦
π‘ 1 β π‘ 2 β₯ π 2 βπ(1βπ¦) π¦β 0, 1 Note that the feasible solution set is not convex. Use of big M is not desirable for branch-and-bound algorithm. We will consider a different style formulation using different variables later. Integer Programming 2018
15
Union of k polytopes in π
π (see CCZ p. 70~71, also NW p. 12~13, and p
Union of k polytopes in π
π (see CCZ p.70~71, also NW p.12~13, and p.17 for more remarks) Given bounded sets of the form (polytope: bounded polyhedron) π΄ π π¦β€ π π 0β€π¦β€ π’ π , (1) for π=1,β¦,π Want to model a point in union of these k polytopes The vector π¦β π
π belongs to the union of the k polytopes in (1) if and only if π=1 π π¦ π =π¦ π΄ π π¦ π β€ π π π₯ π π=1,β¦,π (2) 0β€ π¦ π β€ π’ π π₯ π π=1,β¦,π π=1 π π₯ π =1 π₯β {0,1} π . Integer Programming 2018
16
Def: convex hull of a set πβ π
π : set of all convex combinations of points in π
Picture: conv( π 1 βͺ π 2 ) π 2 π 1 Integer Programming 2018
17
Proposition: The convex hull of solutions to (2) is
π=1 π π¦ π =π¦ π΄ π π¦ π β€ π π π₯ π π=1,β¦,π 0β€ π¦ π β€ π’ π π₯ π π=1,β¦,π π=1 π π₯ π =1 π₯β [0,1] π . (linear relaxation) Pf) Let πβ π
π Γ π
ππ Γ π
π be the polytope given in the statement. We show that any point π§ β‘( π¦ , π¦ 1 ,β¦, π¦ π , π₯ 1 ,β¦, π₯ π ) in π is a convex combination of solutions to (2). For π‘ such that π₯ π‘ β 0, define the point π§ π‘ = π¦ π‘ , π¦ 1 π‘ ,β¦, π¦ π π‘ , π₯ 1 π‘ ,β¦, π₯ π π‘ where π¦ π‘ β‘ π¦ π‘ π₯ π‘ , π¦ π π‘ β‘ π¦ π‘ π₯ π‘ , for π=π‘ 0, otherwise π₯ π π‘ β‘ for π=π‘ 0 otherwise The π§ π‘ s are solutions of (2). We claim that π§ is a convex combination of π§ π‘ s with weights π₯ π‘ s. Observe first π¦ = π¦ π = π‘: π₯ π‘ β 0 π¦ π‘ = π‘: π₯ π‘ β 0 π₯ π‘ π¦ π‘ . Second, note that when π₯ π β 0 we have π¦ π = π‘: π₯ π‘ β 0 π₯ π‘ π¦ π π‘ . This equality also holds when π₯ π =0 because then π¦ π =0 and π¦ π π‘ =0 for all π‘ such that π₯ π‘ β 0. Finally π₯ π = π‘: π₯ π‘ β 0 π₯ π‘ π₯ π π‘ for π=1,β¦,π. οΏ Integer Programming 2018
18
Importance: 0-1 integer program max{ π β² π₯:π΄π₯β€π, 0β€π₯β€1, π₯ integer}
LP relaxation may produce a fractional optimal solution. Assume π₯ π is fractional. Let π={π₯β π
π :π΄π₯β€π,0β€π₯β€1}, π 1 ={π₯βπ: π₯ π β€0}, π 2 ={π₯βπ: π₯ π β₯1}. Then feasible solutions of IP are in π 1 βͺ π 2 . 1 Convex hull of π 1 βͺ π 2 π 2 π 1 π₯ π 1 Integer Programming 2018
19
If we have valid inequalities describing conv( π 1 βͺ π 2 ), solving LP relaxation over conv( π 1 βͺ π 2 ) will give an optimal solution with π₯ π having 0 or 1. (cutting plane method, separation problem) The idea can be generalized to unbounded polyhedron (later). Note that π 1 and/or π 2 may be empty. Integer Programming 2018
20
Restricted range of values
Want to restrict a variable π₯ to take values in a set π 1 ,β¦, π π . ο π₯= π=1 π π π π¦ π , π=1 π π¦ π =1 , π¦ π β 0, 1 for all π Integer Programming 2018
21
Arbitrary piecewise linear cost functions
Piecewise linear, not necessarily convex, cost function (separable piecewise linear convex cost function can be modeled as LP (min problem, but non-convex (or non-concave) function cannot be modeled as LP) π(π₯) π₯= π=1 π π π π π , π π₯ = π=1 π π π π π π , π=1 π π π =1 , π 1 ,β¦, π π β₯0 π₯ π1 π2 π3 π4 π¦1 π¦2 π¦3 ο¬1 ο¬2 ο¬3 ο¬4 Integer Programming 2018
22
Formulation: min π=1 π π π π π π s. t. π 1 β€ π¦ 1 , π π β€ π¦ πβ1
π π β€ π¦ πβ1 + π¦ π , π=2,β¦,πβ1, π=1 π π π =1, π=1 πβ1 π¦ π =1 π π β₯0, for all π, π¦ π β 0, 1 , for all π Integer Programming 2018
23
Alternative formulation
πΏ π π€ π β€ π₯ π β€ πΏ π π€ πβ1 , π=1,2,β¦,π π€ 0 =1 π€ π β 0, 1 , π=1,2,β¦,π π₯ π β₯0, π=1,2,β¦,π π(π₯) slope π 3 π=πΎ+π1π₯1+π2π₯2+β¦+πππ₯π (may replace π₯ with π₯ 1 +β¦+ π₯ π , in the constraints.) π 2 π 1 Note that constraints imply π€ π β€ π€ πβ1 πΎ π₯ π€0 π€1 π€2 π€3 πΏ1 πΏ2 πΏ3 Integer Programming 2018
24
Set covering, set packing, set partitioning
π={1, β¦ , π}, π={1, β¦ , π} π 1 , π 2 ,β¦, π π are collection of subsets of π. cost π π for each subset π π πΉβπ is a cover of π if πβπΉ π π =π πΉ is a packing of π if π π β π π =β
for all π,πβπΉ, πβ π πΉ is a partition of π if it is both a cover and a packing of π. weight of a subset πΉ of π is defined as πβπΉ π π Let π΄:πΓπ with π ππ =1, if πβ π π , =0, otherwise ο π΄π₯β₯π, π΄π₯β€π, π΄π₯=π, π₯β π΅ π ( π : unit vector) Note that π΄π₯= π=1 π π΄ π π₯ π , where π΄ π is πβπ‘β column of π΄. Integer Programming 2018
25
Sequencing problem with setup times
One machine, π operations operation π requires unique tool π capacity of tool magazine is π΅<π loading or unloading tool π into the magazine requires π π units of setup time π jobs need to be performed by the machine and each job π requires multiple operations π½ π , π½ π β€π΅ (setup time required prior to each job is sequence dependent) Determine the optimal job sequence that minimizes total setup time. Assume the magazine is empty initially. Integer Programming 2018
26
π₯ ππ =1, if job π is the πβth job processed =0, otherwise
Let π₯ ππ =1, if job π is the πβth job processed =0, otherwise π¦ ππ =1, if tool π is on the magazine while the πβth job is processed π¦ π0 =0, for all π. (or may use initial magazine setting) π=1 π π₯ ππ =1, for all π. (job π must be done) π=1 π π₯ ππ =1, for all r. (πβπ‘β job must be done) π₯ ππ β€ π¦ ππ , for all πβ π½ π , for all π,π. π=1 π π¦ ππ β€π΅, for all π. Integer Programming 2018
27
minimize π=1 π π=1 π π π π¦ ππ β π¦ π,πβ1
π§ ππ β₯ π¦ ππ β π¦ π,πβ1 , for all π,π, π§ ππ β₯ π¦ π,πβ1 β π¦ ππ , for all π,π. minimize π=1 π π=1 π π π π§ ππ π§ ππ β₯ π¦ π,πβ1 β π¦ ππ , for all π,π, π=1 π π₯ ππ =1 , for all π. π=1 π π₯ ππ =1, for all π. π₯ ππ β€ π¦ ππ , for all πβ π½ π , for all π,π. π=1 π π¦ ππ β€π΅, for all π. π₯ ππ , π¦ ππ , π§ ππ β{0,1} Integer Programming 2018
28
Uncapacitated lot sizing (ULS) (NW)
Production plan for a πβperiod horizon for a single product. π π‘ is the fixed cost (set-up) of producing in period π‘. π π‘ is the unit production cost in period π‘. β π‘ is the unit storage cost in period π‘. π π‘ is the demand in period π‘. Variables: π¦ π‘ is the amount produced in period π‘. π π‘ is the stock at the end of period π‘. π₯ π‘ =1 if production occurs in π‘, and π₯ π‘ =0 otherwise. Integer Programming 2018
29
min π‘=1 π π π‘ π¦ π‘ + β π‘ π π‘ + π π‘ π₯ π‘ π¦ 1 = π 1 + π 1
Formulation: min π‘=1 π π π‘ π¦ π‘ + β π‘ π π‘ + π π‘ π₯ π‘ π¦ 1 = π 1 + π 1 π π‘β1 + π¦ π‘ = π π‘ + π π‘ for π‘=2,β¦,π π¦ π‘ β€π π₯ π‘ for π‘=1,β¦,π π π =0 π ,π¦β π
+ π , π₯β π΅ π , where π= π‘=1 π π π‘ is an upper bound on π¦ π‘ for all π‘. Integer Programming 2018
30
Alternative formulation:
Define π ππ‘ as the quantity produced in period π to satisfy demand in period π‘β₯π. min π‘=1 π π=1 π‘ π π + β π + β π+1 +β¦+ β π‘β1 π ππ‘ + π‘=1 π π π‘ π₯ π‘ π=1 π‘ π ππ‘ = π π‘ , for π‘=1,β¦,π π ππ‘ β€ π π‘ π₯ π , for π=1,β¦,π and π‘=π,β¦,π πβ π
+ π(π+1)/2 , π₯β π΅ π , If we replace π₯β π΅ π , by 0β€ π₯ π‘ β€1 for all π‘, then the LP has an optimal solution with π₯β π΅ π . Hence this is a stronger formulation. The formulation is a special case of the uncapacitated facility location problem. Substitute π¦ ππ‘ = π ππ‘ / π π‘ for all π and π‘β₯π. Extensions: capacitated lot sizing, multiple item lot sizing, β¦ Integer Programming 2018
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.