SlideShare a Scribd company logo
Optimization Methods
in Engineering Design
Day-4
Course Materials
• Arora, Introduction to Optimum Design, 3e, Elsevier,
(https://www.researchgate.net/publication/273120102_Introductio
n_to_Optimum_design)
• Parkinson, Optimization Methods for Engineering Design, Brigham
Young University
(http://apmonitor.com/me575/index.php/Main/BookChapters)
• Iqbal, Fundamental Engineering Optimization Methods, BookBoon
(https://bookboon.com/en/fundamental-engineering-optimization-
methods-ebook)
Discrete Optimization Problems
• An linear integer programming (IP) problem is formulated as:
max
𝒙
𝑧 = 𝒄𝑇𝒙, subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ∈ ℤ𝑛, 𝒙 ≥ 𝟎
• A binary integer programming (BIP) problem is formulated as:
max
𝒙
𝑧 = 𝒄𝑇
𝒙, subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ∈ 0,1 𝑛
• A Mixed integer programming (MIP) problem is formulated as:
max
𝒙
𝑧 = 𝒄𝑇
𝒙, subject to 𝑨𝒙 ≤ 𝒃, 𝑥𝑖 ≥ 0, 𝑥𝑖 ∈ ℤ, 𝑖 = 1, … , 𝑛𝑑;
𝑥𝑖𝐿 ≤ 𝑥𝑖 ≤ 𝑥𝑖𝑈, 𝑖 = 𝑛𝑑 + 1, … , 𝑛
• A general mixed design optimization problem is formulated as:
min
𝒙
𝑓 𝒙 , subject to ℎ𝑖 𝒙 = 0, 𝑖 = 1, … , 𝑙; 𝑔𝑗 𝑥 ≤ 0, 𝑗 = 𝑖, … , 𝑚;
𝑥𝑖 ∈ 𝐷𝑖, 𝑖 = 1, … , 𝑛𝑑; 𝑥𝑖𝐿 ≤ 𝑥𝑖 ≤ 𝑥𝑖𝑈, 𝑖 = 𝑛𝑑 + 1, … , 𝑛
Enumeration Method
• Discrete optimization problems may be solved by enumeration, i.e.,
through an ordered listing of all solutions.
• The number of solution combinations to be evaluated is:
𝑁𝑐 = 𝑞𝑖
𝑛𝑑
𝑖=1 , where 𝑛𝑑 is the number of design variables and 𝑞𝑖 is
the number of discrete values for the design variable 𝑥𝑖. Note, 𝑁𝑐
increases rapidly with increase in 𝑛𝑑 and 𝑞𝑖.
LP Problems with Integral Coefficients
• Consider the standard LPP modeled with integral coefficients:
min
𝒙
𝑧 = 𝒄𝑇𝒙 , Subject to 𝑨𝒙 = 𝒃, 𝒙 ≥ 𝟎,
where 𝑨 ∈ ℤ𝑚×𝑛, 𝑟𝑎𝑛𝑘 𝑨 = 𝑚, 𝒃 ∈ ℤ𝑚, 𝒄 ∈ ℤ𝑛
• Assume that 𝑨 is totally unimodular, i.e., every square submatrix 𝑪
of 𝑨 has det 𝑪 ∈ 0, ±1 . Then every basis matrix 𝑩 has det 𝑩 =
± 1; hence 𝑩−1 = ±𝐴𝑑𝑗 𝑩, and all basic solutions: 𝒙𝐵 = 𝑩−1𝒃 are
integral.
• Thus a necessary condition for integral solutions to the problem is
that every 𝑚 × 𝑚 submatrix 𝑩 of 𝑨 has det 𝑩 = ±1.
LP Problems with Integral Coefficients
• Consider the LP problem modeled with integral coefficients:
min
𝒙
𝑧 = −𝒄𝑇𝒙 , Subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ≥ 𝟎,
where 𝑨 ∈ ℤ𝑚×𝑛, 𝑟𝑎𝑛𝑘 𝑨 = 𝑚, 𝒃 ∈ ℤ𝑚, 𝒄 ∈ ℤ𝑛
Include slack variables to write the constraint as: 𝑨𝒙 + 𝑰𝒔 = 𝒃;
• If 𝑨 is totally unimodular, so is [𝑨 𝑰]; hence if 𝑨 ∈ ℤ𝑚×𝑛 is totally
unimodular and 𝒃 ∈ ℤ𝑚, all BFSs to the problem are integral.
• Thus total unimodularity of 𝑨 is a sufficient condition for integral
solution to the LP problem modeled with integral coefficients.
Example: Integer BFS
• Consider the LP problem with integral coefficients:
max
𝒙
𝑧 = 2𝑥1 + 3𝑥2
Subject to: 𝑥1 ≤ 3, 𝑥2 ≤ 5, 𝑥1 + 𝑥2 ≤ 7, 𝒙 ∈ ℤ2, 𝒙 ≥ 𝟎
• Following the introduction of slack variables, the constraints are
given as: 𝑨 =
1
0
1
0
1
1
1
0
0
0
1
0
0
0
1
, 𝒃 =
3
5
7
Note, 𝑨 is totally unimodular and 𝒃 ∈ ℤ3.
• Using the simplex method, the optimal integral solution is given as:
𝒙𝑇 = 2,5,1,0,0 , with 𝑧∗ = 19.
Example: Project Management
• Problem: Given a list of project tasks with task completion times,
what is the minimum time to complete the project?
• The LP problem with integral coefficients is defined as:
Objective: min
𝑡𝑗
𝑡5 − 𝑡1
Subject to: 𝑡2 − 𝑡1 ≥ 3, 𝑡3 − 𝑡1 ≥ 1, 𝑡3 − 𝑡2 ≥ 0, 𝑡4 − 𝑡2 ≥ 4,
𝑡4 − 𝑡3 ≥ 2, 𝑡5 − 𝑡4 ≥ 5, 𝑡𝑗 ≥ 0, 𝑗 = 1 − 5
2
A,3
1
3
4 5
C,4
D,2
B,1
E,5
0
Example: Project Management
• Then 𝑨 =
−1 1
−1
−1
1
1
−1 1
−1 1
−1 1
; 𝒃 =
3
0
1
4
2
5
; 𝒄𝑇 = −1 0 0 0 1
Note, A is totally unimodular.
• The optimal solution to the LPP is given as:
𝑡1 = 0, 𝑡2 = 3, 𝑡3 = 3, 𝑡4 = 7, 𝑡5 = 12; 𝑓∗
= 12
Example: Project Management
%project management example
A=[-1 1 0 0 0; 0 -1 1 0 0; -1 0 1 0 0; 0 -1 0 1 0; 0 0
-1 1 0; 0 0 0 -1 1];
b=[3;0;1;4;2;5];
c=[-1;0;0;0;1];
Opt.f=c;
Opt.Aineq=-A;
Opt.bineq=-b;
Opt.lb=zeros(size(c));
Opt.solver='linprog';
Opt.options=optimset('Display',‘final');
[x,fval]=linprog(Opt)
x =
0 3 3 7 12
fval =
12
Example: Transportation Problem
• Consider a transportation problem with 𝑚 = 2, 𝑛 = 3 nodes
Objective: min
xij
𝑐𝑖𝑗𝑥𝑖𝑗
𝑛
𝑗=1
𝑚
𝑖=1 , 𝑖 = 1,2; 𝑗 = 1,2,3
Subject to: 𝑥𝑖𝑗
𝑚
𝑖=1 = 𝑎𝑖, 𝑥𝑖𝑗
𝑛
𝑗=1 = 𝑏𝑗
Use following representation to represent a solution with the
given capacities and costs:
Note, every BFS has 𝑚 + 𝑛 − 1 = 4 nonzero components
• For example, possible BFS are:
𝑥11 𝑥12 𝑥13 10
𝑥21 𝑥22 𝑥23 10
5 9 6
0 4 6 10
5 5 0 10
5 9 6
1 9 0 10
4 0 6 10
5 9 6
5 0 5 10
0 9 1 10
5 9 6
3 4 6
5 3 5
Example: Project Management
%Transportation example
A=[1 1 1 0 0 0; 0 0 0 1 1 1; 1 0 0 1 0 0; 0 1 0 0 1 0;
0 0 1 0 0 1];
b=[10;10;5;9;6];
c=[3;4;6;5;3;5];
Opt.f=c;
Opt.Aeq=A;
Opt.beq=b;
Opt.lb=zeros(size(c));
Opt.solver='linprog';
Opt.options=optimset('Display',‘final');
[x,fval]=linprog(Opt)
x =
5 5 0 0 4 6
fval =
77
Binary Integer Programming Problems
• Most IP problems can be reformulated in the BIP framework.
– Assuming the number of variables is small, let 𝑥𝑚𝑖𝑛 < 𝑥𝑖 < 𝑥𝑚𝑎𝑥,
then each 𝑥𝑖 can be represented as a binary number using 𝑘 bits,
where 2𝑘+1
≥ 𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛.
– The resulting optimization problem involves selection of bits and in
a BIP problem.
• BIP problems can be solved via implicit enumeration.
– The search starts from 𝑥𝑖 = 0, 𝑖 = 1, … , 𝑛, which is optimal. If this
is not feasible, then we systematically adjust individual variable
values till feasibility is attained.
– In this process, obvious infeasible solutions are eliminated and the
remaining ones are evaluated to find the optimum.
Implicit Enumeration Algorithm
• The algorithm is given as:
1. Initialize: set 𝑥𝑖 = 0, 𝑖 = 1, … , 𝑛; quit, if it is feasible.
2. For some 𝑖, set 𝑥𝑖 = 1. If the resulting solution is feasible, then
record it if it is the first feasible solution or if it improves upon a
previous feasible solution.
3. Backtrack (set 𝑥𝑖 = 0) if a feasible solution was reached in the
previous step or if feasibility appears impossible in this branch.
4. Choose another 𝑖 and return to 2.
• The progress of the algorithm is recorded in a decision-tree using
nodes and arcs, with node 0 representing the initial solution
(𝑥𝑖 = 0, 𝑖 = 1, … , 𝑛), and node 𝑖 representing a change in the value
of variable 𝑥𝑖. An arc from node 𝑘 to node 𝑖 indicates that 𝑥𝑖 is
raised to one.
Implicit Enumeration Algorithm
• At node 𝑖 the following possibilities exist:
– The resulting solution is feasible, hence no further improvement in
this branch is possible.
– Feasibility is impossible from this branch.
– The resulting solution is not feasible, but feasibility or further
improvements are possible.
• In the first two cases, the branch is said to have been fathomed. If
that happens, we then backtrack to node 𝑘, where variable 𝑥𝑖 is
returned to zero.
• The algorithm continues till all branches have been fathomed, and
returns an optimum 0-1 solution.
Example: Implicit Enumeration
• Problem: A machine shaft is to be cut at two locations to given
dimensions using one of the two available processes, A and B. The
following information on process cost and three-sigma standard
deviation is available. The problem requires that the combined
maximum allowable tolerance be limited to 12mils:
• Let 𝑥𝑖, 𝑖 = 1, … , 4 denote the available processes for both jobs; let
𝑡𝑖 denote their tolerances. Then, the BIP problem is formulated as:
Objective: min
𝒙
𝑧 = 65𝑥1 + 57𝑥2 + 42𝑥3 + 20𝑥4
Subject to: 𝑥1 + 𝑥2 = 1, 𝑥3 + 𝑥4 = 1, 𝑥𝑖𝑡𝑖
𝑖 ≤ 12, 𝑥𝑖 ∈ 0,1
ProcessJob Job1 Job2
Cost SD Cost SD
Process A $65 ±4mils $57 ±5mils
Process B $42 ±6mils $20 ±10mils
Example: Implicit Enumeration
Objective: min
𝒙
𝑧 = 65𝑥1 + 57𝑥2 + 42𝑥3 + 20𝑥4
Subject to: 𝑥1 + 𝑥2 = 1, 𝑥3 + 𝑥4 = 1, 𝑥𝑖𝑡𝑖
𝑖 ≤ 12, 𝑥𝑖 ∈ 0,1
• The problem is solved using Implicit Enumeration algorithm
1
4 3
𝑓 = 107
NFI
0
NFI
𝑥3 = 1
𝑥4 = 1
2
4 3
𝑓 = 99
Optimum
𝑥3 = 1
𝑥4 = 1
NFI
𝑥2 = 1 𝑥1 = 1
Integer Programming Problems
• Consider the IP problem:
max
𝒙
𝑧 = 𝒄𝑇𝒙, Subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ∈ ℤ𝑛, 𝒙 ≥ 𝟎
• The LP relaxation of the IP problem is defined as:
max
𝒙
𝑧 = 𝒄𝑇
𝒙, Subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ≥ 𝟎
The LP relaxation solution serves as upper bound on the IP solution
• Two popular approaches to solve IP problems are:
– Branch and bound method
– Cutting plane method
Branch and Bound Method
• Start from the LP relaxation solution; successively introduce the
integrality constraints on the design variables
– Each integrality constraint on variable 𝑥𝑖 introduces two new
subprograms (branching) that can be solved via LP methods
– Each subprogram results in one of the following:
• There is no feasible solution.
• The solution does not improve upon available IP solution.
• An improved IP solution is returned and is recorded as current
optimal.
• The progress of the algorithm is recorded in a decision-tree
• The algorithm ends when all branches have been fathomed
Example: Branch and Bound Method
• Consider the following IP problem: Max 𝑧 = 60𝑥1 + 90𝑥2 + 120𝑥3,
Subject to: 35𝑥1 + 60𝑥2 + 140𝑥3 ≤ 1000, 15𝑥1 + 30𝑥2 + 60𝑥3 ≥ 2000,
𝑥1 + 𝑥2 − 2𝑥3 ≤ 0; 𝒙 ∈ ℤ3, 𝒙 ≥ 𝟎
• 𝑆0: LP relaxation (𝐹0), 𝑥1
∗
= 0, 𝑥2
∗
= 7.69, 𝑥3
∗
= 3.85, 𝑓∗ = 1153.8;
– Record as upper bound
• 𝑆1: 𝐹0 ∪ 𝑥3 ≤ 3 , integer solution: 𝑥1
∗
= 0, 𝑥2
∗
= 6, 𝑥3
∗
= 3, 𝑓∗ = 900;
– Record as current optimum
• 𝑆2: 𝐹0 ∪ 𝑥3 ≥ 4 , non-integer solution: 𝑥1
∗
= 1.6, 𝑥2
∗
= 6.4, 𝑥3
∗
= 4, 𝑓∗
=
1152; further improvement possible
• 𝑆3: 𝐹2 ∪ 𝑥2 ≤ 6 , non-integer solution: 𝑥1
∗
= 2.1, 𝑥2
∗
= 6, 𝑥3
∗
= 4.05, 𝑓∗ =
1151.4; further improvement possible
Example: Branch and Bound Method
• 𝑆4: 𝐹3 ∪ 𝑥3 ≤ 4 , integer solution: 𝑥1
∗
= 2, 𝑥2
∗
= 6, 𝑥3
∗
= 4, 𝑓∗ = 1140;
– Record as the new optimum
• 𝑆5: 𝐹3 ∪ 𝑥3 ≥ 5 , non-integer solution: 𝑥1
∗
= 8.57, 𝑥2
∗
= 0, 𝑥3
∗
= 5, 𝑓∗ =
1114.3, no improvement over current optimum. The branch is fathomed.
• 𝑆6: 𝐹2 ∪ 𝑥2 ≥ 7 , non-integer solution: 𝑥1
∗
= 0.57, 𝑥2
∗
= 7, 𝑥3
∗
= 4, 𝑓∗ =
1144.3; further improvement possible
• 𝑆7: 𝐹6 ∪ 𝑥1 ≤ 0 , non-integer solution: 𝑥1
∗
= 0, 𝑥2
∗
= 7.33, 𝑥3
∗
= 4, 𝑓∗ =
1140; no improvement over current optimum. The branch is fathomed.
• 𝑆8: 𝐹6 ∪ 𝑥1 ≥ 1 has no feasible solution. The branch is fathomed.
• All branches having been fathomed, the optimal solution is: 𝑥∗ =
(2,6,4), 𝑓∗ = 1140.
Example: Branch and Bound Method
• The decision tree for the problem
𝑆0: 𝐹0 = 𝐹𝑅
𝒙∗
= (0, 7.69, 3.85), 𝑓∗
= 1153.8
𝑆1: 𝐹0 ∪ 𝑥3 ≤ 3
𝒙∗
= (0, 6,3), 𝑓∗
= 900
𝑆2: 𝐹0 ∪ 𝑥3 ≥ 4
𝒙∗
= (1.6, 6.4, 4), 𝑓∗
= 1152
𝑆3: 𝐹2 ∪ 𝑥2 ≤ 6
𝒙∗
= (2.1, 6, 4.05), 𝑓∗
= 1151.4
𝑆6: 𝐹2 ∪ 𝑥2 ≥ 7
𝒙∗
= (0.57, 7, 4), 𝑓∗
= 1144.3
𝑆4: 𝐹3 ∪ 𝑥3 ≤ 4
𝒙∗
= (2, 6, 4), 𝑓∗
= 1140
𝑆5: 𝐹3 ∪ 𝑥3 ≥ 5
𝒙∗
= (8.57, 0, 5), 𝑓∗
= 1114.3
𝑆7: 𝐹6 ∪ 𝑥1 ≤ 0
𝒙∗
= (0, 7.33, 4), 𝑓∗
= 1140
𝑆8: 𝐹6 ∪ 𝑥1 ≥ 1
𝑁𝐹𝑆
Optimum solution
Cutting Plane Method
• Let the feasible region for LP relaxation problem be given as:
Ω = 𝑥 ∈ ℝ𝑛: 𝑨𝒙 ≤ 𝒃 .
• The cutting plane algorithm iteratively trims the feasible region by
applying additional constraints (Gomory cuts) so as to exclude non-
integer solutions.
• It thereby generates a family of polyhedra that satisfy: Ω ⊃ Ω1 ⊃
Ω2 ⊃ ⋯ ⊃ Ω ∩ ℤ𝑛.
• The algorithm terminates in finite steps generating an optimal
integral BFS.
Cutting Plane Method
• Consider the IP problem:
max
𝒙
𝑧 = 𝒄𝑇𝒙, Subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ∈ ℤ𝑛, 𝒙 ≥ 𝟎,
• Let the optimal BFS for the LP relaxation be represented as:
𝑰𝒙𝐵 + 𝑨𝑁𝒙𝑁 = 𝒃
where the ith constraint is given as: 𝑥𝑖 + 𝑎𝑖𝑗𝑥𝑗
𝑛
𝑗=𝑚+1 = 𝑏𝑖
• Let 𝑎𝑖𝑗 represent the integer part of 𝑎𝑖𝑗; then for any BFS
𝑥𝑖 + 𝑎𝑖𝑗 𝑥𝑗
𝑛
𝑗=𝑚+1 ≤ 𝑏𝑖
• However, only an integral solution would satisfy
𝑥𝑖 + 𝑎𝑖𝑗 𝑥𝑗
𝑛
𝑗=𝑚+1 ≤ 𝑏𝑖
Cutting Plane Method
• Subtract the second inequality from first to get:
𝑎𝑖𝑗 − 𝑎𝑖𝑗 𝑥𝑗
𝑛
𝑗=𝑚+1 ≥ 𝑏𝑖 − 𝑏𝑖
Or 𝛼𝑖𝑗𝑥𝑗
𝑛
𝑗=𝑚+1 ≥ 𝛽𝑖
where 𝛼𝑖𝑗, 𝛽𝑖 > 0 denote the fractional part
• Imposing the above constraint (the cut) excludes the vertex
associated with current optimal BFS from the feasible region
• The cut involves non-basic variables; however, original constraint
equations may be used to replace them with basic variables
• Repeated application of additional cuts reduces the feasible region
to where the optimal BFS is integral.
Example: Cutting Plane Method
• Consider simplified manufacturing problem given as:
max
𝑥1,𝑥2
𝑓 = 7.5𝑥1 + 5𝑥2
Subject to: 10𝑥1 + 5𝑥2 ≤ 60, 5𝑥1 + 12𝑥2 ≤ 80; 𝑥1, 𝑥2 ∈ ℤ
• Using Simplex method, the initial and final tableaus are:
• The non-integer optimum solution is: 𝑥1
∗
= 3.368, 𝑥2
∗
= 5.263,
𝑓∗
= 52.58.
• The first cut is given as: 𝑥1 − 𝑠2 ≤ 3 or 6𝑥1 + 12𝑥2 ≤ 83
Basic 𝒙𝟏 𝒙𝟐 𝒔𝟏 𝒔𝟐 Rhs
𝒙𝟏 1 0 0.126 -0.053 3.368
𝒙𝟐 0 1 -0.053 0.105 5.263
−𝐳 0 0 0.684 0.131 52.58
Basic 𝒙𝟏 𝒙𝟐 𝒔𝟏 𝒔𝟐 Rhs
𝒔𝟏 10 5 1 0 60
𝒔𝟐 5 12 0 1 80
−𝐳 -7.5 -5 0 0 0
Example: Cutting Plane Method
• The series of Gomory cuts that result in the optimum solution to
the IP problem are given as:
No
.
Cut Optimal solution
1. 6𝑥1 + 12𝑥2 ≤ 83 𝑥1
∗
= 3.389, 𝑥2
∗
= 5.222, 𝑓∗ = 51.528
1. 10𝑥1 + 6𝑥2 ≤ 65 𝑥1
∗
= 3.357, 𝑥2
∗
= 5.238, 𝑓∗ = 51.369
1. 7𝑥1 + 10𝑥2 ≤ 70 𝑥1
∗
= 3.846, 𝑥2
∗
= 4.308, 𝑓∗ = 50.385
1. 7𝑥1 + 9𝑥2 ≤ 65 𝑥1
∗
= 3.909, 𝑥2
∗
= 4.182, 𝑓∗
= 50.227
1. 7𝑥1 + 8𝑥2 ≤ 60 𝑥1
∗
= 4, 𝑥2
∗
= 4, 𝑓∗
= 50
Example: Cutting Plane Method
• Consider following IP problem:
Max 𝑧 = 60𝑥1 + 90𝑥2 + 120𝑥3,
Subject to: 35𝑥1 + 60𝑥2 + 140𝑥3 ≤ 1000, 15𝑥1 + 30𝑥2 + 60𝑥3 ≥ 2000,
𝑥1 + 𝑥2 − 2𝑥3 ≤ 0; 𝒙 ∈ ℤ3, 𝒙 ≥ 𝟎
LP relaxation solution: 𝑥1
∗
= 0, 𝑥2
∗
= 7.69, 𝑥3
∗
= 3.85, 𝑓∗
= 1153.8
Final Simplex tableau is:
Basic 𝒙𝟏 𝒙𝟐 𝒙𝟑 𝒔𝟏 𝒔𝟐 𝒔𝟑 Rhs
𝒙𝟐 0.808 1 0 0.539 0.039 0 7.69
𝒙𝟑 -0.096 0 1 -0.231 0.019 0 3.85
𝐬𝟑 0.173 0 0 0.115 0.115 1 123.1
−𝐳 0.115 0 0 2.077 0.577 0 1153.8
Gomory Cuts for the Problem
• Consider the first constraint equation:
0.808𝑥1 + x2 + 0.539𝑠1 + 0.039𝑠2 = 7.692
• The first cut is developed as: 0.808𝑥1 + 0.539𝑠1 + 0.039𝑠2 ≥ 0.692
• The following series of cuts progressively squeezes the feasible
region and produces an integer solution: 𝒙∗ = (2, 6, 4), 𝑓∗ = 1140
No. Cut Optimal solution
1. 0.808𝑥1 + 0.539𝑠1 + 0.039𝑠2 − 𝑠4 = 0.692 𝑥1
∗
= 0.857, 𝑥2
∗
= 7, 𝑥3
∗
= 3.929, 𝑓∗
= 1152.9
1. 0.833𝑠1 + 0.024𝑠2 + 0.881𝑠4 − 𝑠5 = 0.929 𝑥1
∗
= 2.162, 𝑥2
∗
= 5.946, 𝑥3
∗
= 4.054, 𝑓∗
= 1151.3
1. 0.054𝑠1 + 0.973𝑠2 + 0.135𝑠5 − 𝑠6 = 0.946 𝑥1
∗
= 2.083, 𝑥2
∗
= 5.972, 𝑥3
∗
= 4.028, 𝑓∗
= 1145.8
1. 0.056𝑠1 + 0.139𝑠5 + 0.972𝑠6 − 𝑠7 = 0.972 𝑥1
∗
= 2, 𝑥2
∗
= 6, 𝑥3
∗
= 4, 𝑓∗
= 1140
View publication stats
View publication stats

More Related Content

PDF
Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
PDF
Integer Programming PPt.ernxzamnbmbmspdf
PPT
Lp and ip programming cp 9
PPT
Balaji-opt-lecture5-linear program sp13.ppt
PPT
Balaji-opt-lecture6-act.ppt
PPTX
Linear mixed integer programs for chemical engineering
PPTX
Integer Linear Programming
PDF
Chapter 6-INTEGER PROGRAMMING note.pdf
Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Integer Programming PPt.ernxzamnbmbmspdf
Lp and ip programming cp 9
Balaji-opt-lecture5-linear program sp13.ppt
Balaji-opt-lecture6-act.ppt
Linear mixed integer programs for chemical engineering
Integer Linear Programming
Chapter 6-INTEGER PROGRAMMING note.pdf

Similar to Optimum Engineering Design - Day 4 - Clasical methods of optimization (20)

PDF
Network Planning and Optimization
PPTX
Global optimization
PDF
Mathematical linear programming notes
PDF
Linearprog, Reading Materials for Operational Research
PPTX
Branch and Bound technique to solve Integer Linear Programming
DOCX
Solving Optimization Problems using the Matlab Optimization.docx
PPTX
Overview of techniques for solving integer programs
PDF
Integer Programming - MNIT Jaipur - Taha et al
 
PDF
Branch-and-Bound Technique for Solving Integer Programs
 
PPTX
Linear programming manzoor nabi
PDF
Mip formulations quick_reference (2)
PPT
0/1 knapsack
PDF
A Decomposition Technique For Solving Integer Programming Problems
PDF
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
PDF
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
PPT
Simplex Method for Linear Programming - Operations Research
 
PPT
n7-LP-simplex.ppt
PDF
Reading Materials for Operational Research
PPTX
MFCS2-Module1.pptx
PPTX
Operation reasearch
Network Planning and Optimization
Global optimization
Mathematical linear programming notes
Linearprog, Reading Materials for Operational Research
Branch and Bound technique to solve Integer Linear Programming
Solving Optimization Problems using the Matlab Optimization.docx
Overview of techniques for solving integer programs
Integer Programming - MNIT Jaipur - Taha et al
 
Branch-and-Bound Technique for Solving Integer Programs
 
Linear programming manzoor nabi
Mip formulations quick_reference (2)
0/1 knapsack
A Decomposition Technique For Solving Integer Programming Problems
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Simplex Method for Linear Programming - Operations Research
 
n7-LP-simplex.ppt
Reading Materials for Operational Research
MFCS2-Module1.pptx
Operation reasearch
Ad

More from SantiagoGarridoBulln (17)

PDF
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
PDF
Optimum Engineering Design - Day 2b. Classical Optimization methods
PDF
Optimum engineering design - Day 6. Classical optimization methods
PDF
Optimum engineering design - Day 5. Clasical optimization methods
PDF
OptimumEngineeringDesign-Day2a.pdf
PDF
OptimumEngineeringDesign-Day-1.pdf
PDF
CI_L01_Optimization.pdf
PDF
CI_L02_Optimization_ag2_eng.pdf
PDF
Lecture_Slides_Mathematics_06_Optimization.pdf
PDF
OptimumEngineeringDesign-Day7.pdf
PPTX
CI_L11_Optimization_ag2_eng.pptx
PDF
CI L11 Optimization 3 GlobalOptimization.pdf
PDF
optmizationtechniques.pdf
PDF
complete-manual-of-multivariable-optimization.pdf
PDF
slides-linear-programming-introduction.pdf
PDF
bv_cvxslides (1).pdf
PDF
Optim_methods.pdf
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Optimum Engineering Design - Day 2b. Classical Optimization methods
Optimum engineering design - Day 6. Classical optimization methods
Optimum engineering design - Day 5. Clasical optimization methods
OptimumEngineeringDesign-Day2a.pdf
OptimumEngineeringDesign-Day-1.pdf
CI_L01_Optimization.pdf
CI_L02_Optimization_ag2_eng.pdf
Lecture_Slides_Mathematics_06_Optimization.pdf
OptimumEngineeringDesign-Day7.pdf
CI_L11_Optimization_ag2_eng.pptx
CI L11 Optimization 3 GlobalOptimization.pdf
optmizationtechniques.pdf
complete-manual-of-multivariable-optimization.pdf
slides-linear-programming-introduction.pdf
bv_cvxslides (1).pdf
Optim_methods.pdf
Ad

Recently uploaded (20)

PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Lecture Notes Electrical Wiring System Components
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
web development for engineering and engineering
PDF
Digital Logic Computer Design lecture notes
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
Structs to JSON How Go Powers REST APIs.pdf
PPTX
Construction Project Organization Group 2.pptx
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
DOCX
573137875-Attendance-Management-System-original
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
OOP with Java - Java Introduction (Basics)
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Arduino robotics embedded978-1-4302-3184-4.pdf
Lecture Notes Electrical Wiring System Components
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
web development for engineering and engineering
Digital Logic Computer Design lecture notes
CH1 Production IntroductoryConcepts.pptx
Internet of Things (IOT) - A guide to understanding
CYBER-CRIMES AND SECURITY A guide to understanding
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Structs to JSON How Go Powers REST APIs.pdf
Construction Project Organization Group 2.pptx
Embodied AI: Ushering in the Next Era of Intelligent Systems
573137875-Attendance-Management-System-original
Operating System & Kernel Study Guide-1 - converted.pdf
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Strings in CPP - Strings in C++ are sequences of characters used to store and...
UNIT-1 - COAL BASED THERMAL POWER PLANTS

Optimum Engineering Design - Day 4 - Clasical methods of optimization

  • 2. Course Materials • Arora, Introduction to Optimum Design, 3e, Elsevier, (https://www.researchgate.net/publication/273120102_Introductio n_to_Optimum_design) • Parkinson, Optimization Methods for Engineering Design, Brigham Young University (http://apmonitor.com/me575/index.php/Main/BookChapters) • Iqbal, Fundamental Engineering Optimization Methods, BookBoon (https://bookboon.com/en/fundamental-engineering-optimization- methods-ebook)
  • 3. Discrete Optimization Problems • An linear integer programming (IP) problem is formulated as: max 𝒙 𝑧 = 𝒄𝑇𝒙, subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ∈ ℤ𝑛, 𝒙 ≥ 𝟎 • A binary integer programming (BIP) problem is formulated as: max 𝒙 𝑧 = 𝒄𝑇 𝒙, subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ∈ 0,1 𝑛 • A Mixed integer programming (MIP) problem is formulated as: max 𝒙 𝑧 = 𝒄𝑇 𝒙, subject to 𝑨𝒙 ≤ 𝒃, 𝑥𝑖 ≥ 0, 𝑥𝑖 ∈ ℤ, 𝑖 = 1, … , 𝑛𝑑; 𝑥𝑖𝐿 ≤ 𝑥𝑖 ≤ 𝑥𝑖𝑈, 𝑖 = 𝑛𝑑 + 1, … , 𝑛 • A general mixed design optimization problem is formulated as: min 𝒙 𝑓 𝒙 , subject to ℎ𝑖 𝒙 = 0, 𝑖 = 1, … , 𝑙; 𝑔𝑗 𝑥 ≤ 0, 𝑗 = 𝑖, … , 𝑚; 𝑥𝑖 ∈ 𝐷𝑖, 𝑖 = 1, … , 𝑛𝑑; 𝑥𝑖𝐿 ≤ 𝑥𝑖 ≤ 𝑥𝑖𝑈, 𝑖 = 𝑛𝑑 + 1, … , 𝑛
  • 4. Enumeration Method • Discrete optimization problems may be solved by enumeration, i.e., through an ordered listing of all solutions. • The number of solution combinations to be evaluated is: 𝑁𝑐 = 𝑞𝑖 𝑛𝑑 𝑖=1 , where 𝑛𝑑 is the number of design variables and 𝑞𝑖 is the number of discrete values for the design variable 𝑥𝑖. Note, 𝑁𝑐 increases rapidly with increase in 𝑛𝑑 and 𝑞𝑖.
  • 5. LP Problems with Integral Coefficients • Consider the standard LPP modeled with integral coefficients: min 𝒙 𝑧 = 𝒄𝑇𝒙 , Subject to 𝑨𝒙 = 𝒃, 𝒙 ≥ 𝟎, where 𝑨 ∈ ℤ𝑚×𝑛, 𝑟𝑎𝑛𝑘 𝑨 = 𝑚, 𝒃 ∈ ℤ𝑚, 𝒄 ∈ ℤ𝑛 • Assume that 𝑨 is totally unimodular, i.e., every square submatrix 𝑪 of 𝑨 has det 𝑪 ∈ 0, ±1 . Then every basis matrix 𝑩 has det 𝑩 = ± 1; hence 𝑩−1 = ±𝐴𝑑𝑗 𝑩, and all basic solutions: 𝒙𝐵 = 𝑩−1𝒃 are integral. • Thus a necessary condition for integral solutions to the problem is that every 𝑚 × 𝑚 submatrix 𝑩 of 𝑨 has det 𝑩 = ±1.
  • 6. LP Problems with Integral Coefficients • Consider the LP problem modeled with integral coefficients: min 𝒙 𝑧 = −𝒄𝑇𝒙 , Subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ≥ 𝟎, where 𝑨 ∈ ℤ𝑚×𝑛, 𝑟𝑎𝑛𝑘 𝑨 = 𝑚, 𝒃 ∈ ℤ𝑚, 𝒄 ∈ ℤ𝑛 Include slack variables to write the constraint as: 𝑨𝒙 + 𝑰𝒔 = 𝒃; • If 𝑨 is totally unimodular, so is [𝑨 𝑰]; hence if 𝑨 ∈ ℤ𝑚×𝑛 is totally unimodular and 𝒃 ∈ ℤ𝑚, all BFSs to the problem are integral. • Thus total unimodularity of 𝑨 is a sufficient condition for integral solution to the LP problem modeled with integral coefficients.
  • 7. Example: Integer BFS • Consider the LP problem with integral coefficients: max 𝒙 𝑧 = 2𝑥1 + 3𝑥2 Subject to: 𝑥1 ≤ 3, 𝑥2 ≤ 5, 𝑥1 + 𝑥2 ≤ 7, 𝒙 ∈ ℤ2, 𝒙 ≥ 𝟎 • Following the introduction of slack variables, the constraints are given as: 𝑨 = 1 0 1 0 1 1 1 0 0 0 1 0 0 0 1 , 𝒃 = 3 5 7 Note, 𝑨 is totally unimodular and 𝒃 ∈ ℤ3. • Using the simplex method, the optimal integral solution is given as: 𝒙𝑇 = 2,5,1,0,0 , with 𝑧∗ = 19.
  • 8. Example: Project Management • Problem: Given a list of project tasks with task completion times, what is the minimum time to complete the project? • The LP problem with integral coefficients is defined as: Objective: min 𝑡𝑗 𝑡5 − 𝑡1 Subject to: 𝑡2 − 𝑡1 ≥ 3, 𝑡3 − 𝑡1 ≥ 1, 𝑡3 − 𝑡2 ≥ 0, 𝑡4 − 𝑡2 ≥ 4, 𝑡4 − 𝑡3 ≥ 2, 𝑡5 − 𝑡4 ≥ 5, 𝑡𝑗 ≥ 0, 𝑗 = 1 − 5 2 A,3 1 3 4 5 C,4 D,2 B,1 E,5 0
  • 9. Example: Project Management • Then 𝑨 = −1 1 −1 −1 1 1 −1 1 −1 1 −1 1 ; 𝒃 = 3 0 1 4 2 5 ; 𝒄𝑇 = −1 0 0 0 1 Note, A is totally unimodular. • The optimal solution to the LPP is given as: 𝑡1 = 0, 𝑡2 = 3, 𝑡3 = 3, 𝑡4 = 7, 𝑡5 = 12; 𝑓∗ = 12
  • 10. Example: Project Management %project management example A=[-1 1 0 0 0; 0 -1 1 0 0; -1 0 1 0 0; 0 -1 0 1 0; 0 0 -1 1 0; 0 0 0 -1 1]; b=[3;0;1;4;2;5]; c=[-1;0;0;0;1]; Opt.f=c; Opt.Aineq=-A; Opt.bineq=-b; Opt.lb=zeros(size(c)); Opt.solver='linprog'; Opt.options=optimset('Display',‘final'); [x,fval]=linprog(Opt) x = 0 3 3 7 12 fval = 12
  • 11. Example: Transportation Problem • Consider a transportation problem with 𝑚 = 2, 𝑛 = 3 nodes Objective: min xij 𝑐𝑖𝑗𝑥𝑖𝑗 𝑛 𝑗=1 𝑚 𝑖=1 , 𝑖 = 1,2; 𝑗 = 1,2,3 Subject to: 𝑥𝑖𝑗 𝑚 𝑖=1 = 𝑎𝑖, 𝑥𝑖𝑗 𝑛 𝑗=1 = 𝑏𝑗 Use following representation to represent a solution with the given capacities and costs: Note, every BFS has 𝑚 + 𝑛 − 1 = 4 nonzero components • For example, possible BFS are: 𝑥11 𝑥12 𝑥13 10 𝑥21 𝑥22 𝑥23 10 5 9 6 0 4 6 10 5 5 0 10 5 9 6 1 9 0 10 4 0 6 10 5 9 6 5 0 5 10 0 9 1 10 5 9 6 3 4 6 5 3 5
  • 12. Example: Project Management %Transportation example A=[1 1 1 0 0 0; 0 0 0 1 1 1; 1 0 0 1 0 0; 0 1 0 0 1 0; 0 0 1 0 0 1]; b=[10;10;5;9;6]; c=[3;4;6;5;3;5]; Opt.f=c; Opt.Aeq=A; Opt.beq=b; Opt.lb=zeros(size(c)); Opt.solver='linprog'; Opt.options=optimset('Display',‘final'); [x,fval]=linprog(Opt) x = 5 5 0 0 4 6 fval = 77
  • 13. Binary Integer Programming Problems • Most IP problems can be reformulated in the BIP framework. – Assuming the number of variables is small, let 𝑥𝑚𝑖𝑛 < 𝑥𝑖 < 𝑥𝑚𝑎𝑥, then each 𝑥𝑖 can be represented as a binary number using 𝑘 bits, where 2𝑘+1 ≥ 𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛. – The resulting optimization problem involves selection of bits and in a BIP problem. • BIP problems can be solved via implicit enumeration. – The search starts from 𝑥𝑖 = 0, 𝑖 = 1, … , 𝑛, which is optimal. If this is not feasible, then we systematically adjust individual variable values till feasibility is attained. – In this process, obvious infeasible solutions are eliminated and the remaining ones are evaluated to find the optimum.
  • 14. Implicit Enumeration Algorithm • The algorithm is given as: 1. Initialize: set 𝑥𝑖 = 0, 𝑖 = 1, … , 𝑛; quit, if it is feasible. 2. For some 𝑖, set 𝑥𝑖 = 1. If the resulting solution is feasible, then record it if it is the first feasible solution or if it improves upon a previous feasible solution. 3. Backtrack (set 𝑥𝑖 = 0) if a feasible solution was reached in the previous step or if feasibility appears impossible in this branch. 4. Choose another 𝑖 and return to 2. • The progress of the algorithm is recorded in a decision-tree using nodes and arcs, with node 0 representing the initial solution (𝑥𝑖 = 0, 𝑖 = 1, … , 𝑛), and node 𝑖 representing a change in the value of variable 𝑥𝑖. An arc from node 𝑘 to node 𝑖 indicates that 𝑥𝑖 is raised to one.
  • 15. Implicit Enumeration Algorithm • At node 𝑖 the following possibilities exist: – The resulting solution is feasible, hence no further improvement in this branch is possible. – Feasibility is impossible from this branch. – The resulting solution is not feasible, but feasibility or further improvements are possible. • In the first two cases, the branch is said to have been fathomed. If that happens, we then backtrack to node 𝑘, where variable 𝑥𝑖 is returned to zero. • The algorithm continues till all branches have been fathomed, and returns an optimum 0-1 solution.
  • 16. Example: Implicit Enumeration • Problem: A machine shaft is to be cut at two locations to given dimensions using one of the two available processes, A and B. The following information on process cost and three-sigma standard deviation is available. The problem requires that the combined maximum allowable tolerance be limited to 12mils: • Let 𝑥𝑖, 𝑖 = 1, … , 4 denote the available processes for both jobs; let 𝑡𝑖 denote their tolerances. Then, the BIP problem is formulated as: Objective: min 𝒙 𝑧 = 65𝑥1 + 57𝑥2 + 42𝑥3 + 20𝑥4 Subject to: 𝑥1 + 𝑥2 = 1, 𝑥3 + 𝑥4 = 1, 𝑥𝑖𝑡𝑖 𝑖 ≤ 12, 𝑥𝑖 ∈ 0,1 ProcessJob Job1 Job2 Cost SD Cost SD Process A $65 ±4mils $57 ±5mils Process B $42 ±6mils $20 ±10mils
  • 17. Example: Implicit Enumeration Objective: min 𝒙 𝑧 = 65𝑥1 + 57𝑥2 + 42𝑥3 + 20𝑥4 Subject to: 𝑥1 + 𝑥2 = 1, 𝑥3 + 𝑥4 = 1, 𝑥𝑖𝑡𝑖 𝑖 ≤ 12, 𝑥𝑖 ∈ 0,1 • The problem is solved using Implicit Enumeration algorithm 1 4 3 𝑓 = 107 NFI 0 NFI 𝑥3 = 1 𝑥4 = 1 2 4 3 𝑓 = 99 Optimum 𝑥3 = 1 𝑥4 = 1 NFI 𝑥2 = 1 𝑥1 = 1
  • 18. Integer Programming Problems • Consider the IP problem: max 𝒙 𝑧 = 𝒄𝑇𝒙, Subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ∈ ℤ𝑛, 𝒙 ≥ 𝟎 • The LP relaxation of the IP problem is defined as: max 𝒙 𝑧 = 𝒄𝑇 𝒙, Subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ≥ 𝟎 The LP relaxation solution serves as upper bound on the IP solution • Two popular approaches to solve IP problems are: – Branch and bound method – Cutting plane method
  • 19. Branch and Bound Method • Start from the LP relaxation solution; successively introduce the integrality constraints on the design variables – Each integrality constraint on variable 𝑥𝑖 introduces two new subprograms (branching) that can be solved via LP methods – Each subprogram results in one of the following: • There is no feasible solution. • The solution does not improve upon available IP solution. • An improved IP solution is returned and is recorded as current optimal. • The progress of the algorithm is recorded in a decision-tree • The algorithm ends when all branches have been fathomed
  • 20. Example: Branch and Bound Method • Consider the following IP problem: Max 𝑧 = 60𝑥1 + 90𝑥2 + 120𝑥3, Subject to: 35𝑥1 + 60𝑥2 + 140𝑥3 ≤ 1000, 15𝑥1 + 30𝑥2 + 60𝑥3 ≥ 2000, 𝑥1 + 𝑥2 − 2𝑥3 ≤ 0; 𝒙 ∈ ℤ3, 𝒙 ≥ 𝟎 • 𝑆0: LP relaxation (𝐹0), 𝑥1 ∗ = 0, 𝑥2 ∗ = 7.69, 𝑥3 ∗ = 3.85, 𝑓∗ = 1153.8; – Record as upper bound • 𝑆1: 𝐹0 ∪ 𝑥3 ≤ 3 , integer solution: 𝑥1 ∗ = 0, 𝑥2 ∗ = 6, 𝑥3 ∗ = 3, 𝑓∗ = 900; – Record as current optimum • 𝑆2: 𝐹0 ∪ 𝑥3 ≥ 4 , non-integer solution: 𝑥1 ∗ = 1.6, 𝑥2 ∗ = 6.4, 𝑥3 ∗ = 4, 𝑓∗ = 1152; further improvement possible • 𝑆3: 𝐹2 ∪ 𝑥2 ≤ 6 , non-integer solution: 𝑥1 ∗ = 2.1, 𝑥2 ∗ = 6, 𝑥3 ∗ = 4.05, 𝑓∗ = 1151.4; further improvement possible
  • 21. Example: Branch and Bound Method • 𝑆4: 𝐹3 ∪ 𝑥3 ≤ 4 , integer solution: 𝑥1 ∗ = 2, 𝑥2 ∗ = 6, 𝑥3 ∗ = 4, 𝑓∗ = 1140; – Record as the new optimum • 𝑆5: 𝐹3 ∪ 𝑥3 ≥ 5 , non-integer solution: 𝑥1 ∗ = 8.57, 𝑥2 ∗ = 0, 𝑥3 ∗ = 5, 𝑓∗ = 1114.3, no improvement over current optimum. The branch is fathomed. • 𝑆6: 𝐹2 ∪ 𝑥2 ≥ 7 , non-integer solution: 𝑥1 ∗ = 0.57, 𝑥2 ∗ = 7, 𝑥3 ∗ = 4, 𝑓∗ = 1144.3; further improvement possible • 𝑆7: 𝐹6 ∪ 𝑥1 ≤ 0 , non-integer solution: 𝑥1 ∗ = 0, 𝑥2 ∗ = 7.33, 𝑥3 ∗ = 4, 𝑓∗ = 1140; no improvement over current optimum. The branch is fathomed. • 𝑆8: 𝐹6 ∪ 𝑥1 ≥ 1 has no feasible solution. The branch is fathomed. • All branches having been fathomed, the optimal solution is: 𝑥∗ = (2,6,4), 𝑓∗ = 1140.
  • 22. Example: Branch and Bound Method • The decision tree for the problem 𝑆0: 𝐹0 = 𝐹𝑅 𝒙∗ = (0, 7.69, 3.85), 𝑓∗ = 1153.8 𝑆1: 𝐹0 ∪ 𝑥3 ≤ 3 𝒙∗ = (0, 6,3), 𝑓∗ = 900 𝑆2: 𝐹0 ∪ 𝑥3 ≥ 4 𝒙∗ = (1.6, 6.4, 4), 𝑓∗ = 1152 𝑆3: 𝐹2 ∪ 𝑥2 ≤ 6 𝒙∗ = (2.1, 6, 4.05), 𝑓∗ = 1151.4 𝑆6: 𝐹2 ∪ 𝑥2 ≥ 7 𝒙∗ = (0.57, 7, 4), 𝑓∗ = 1144.3 𝑆4: 𝐹3 ∪ 𝑥3 ≤ 4 𝒙∗ = (2, 6, 4), 𝑓∗ = 1140 𝑆5: 𝐹3 ∪ 𝑥3 ≥ 5 𝒙∗ = (8.57, 0, 5), 𝑓∗ = 1114.3 𝑆7: 𝐹6 ∪ 𝑥1 ≤ 0 𝒙∗ = (0, 7.33, 4), 𝑓∗ = 1140 𝑆8: 𝐹6 ∪ 𝑥1 ≥ 1 𝑁𝐹𝑆 Optimum solution
  • 23. Cutting Plane Method • Let the feasible region for LP relaxation problem be given as: Ω = 𝑥 ∈ ℝ𝑛: 𝑨𝒙 ≤ 𝒃 . • The cutting plane algorithm iteratively trims the feasible region by applying additional constraints (Gomory cuts) so as to exclude non- integer solutions. • It thereby generates a family of polyhedra that satisfy: Ω ⊃ Ω1 ⊃ Ω2 ⊃ ⋯ ⊃ Ω ∩ ℤ𝑛. • The algorithm terminates in finite steps generating an optimal integral BFS.
  • 24. Cutting Plane Method • Consider the IP problem: max 𝒙 𝑧 = 𝒄𝑇𝒙, Subject to 𝑨𝒙 ≤ 𝒃, 𝒙 ∈ ℤ𝑛, 𝒙 ≥ 𝟎, • Let the optimal BFS for the LP relaxation be represented as: 𝑰𝒙𝐵 + 𝑨𝑁𝒙𝑁 = 𝒃 where the ith constraint is given as: 𝑥𝑖 + 𝑎𝑖𝑗𝑥𝑗 𝑛 𝑗=𝑚+1 = 𝑏𝑖 • Let 𝑎𝑖𝑗 represent the integer part of 𝑎𝑖𝑗; then for any BFS 𝑥𝑖 + 𝑎𝑖𝑗 𝑥𝑗 𝑛 𝑗=𝑚+1 ≤ 𝑏𝑖 • However, only an integral solution would satisfy 𝑥𝑖 + 𝑎𝑖𝑗 𝑥𝑗 𝑛 𝑗=𝑚+1 ≤ 𝑏𝑖
  • 25. Cutting Plane Method • Subtract the second inequality from first to get: 𝑎𝑖𝑗 − 𝑎𝑖𝑗 𝑥𝑗 𝑛 𝑗=𝑚+1 ≥ 𝑏𝑖 − 𝑏𝑖 Or 𝛼𝑖𝑗𝑥𝑗 𝑛 𝑗=𝑚+1 ≥ 𝛽𝑖 where 𝛼𝑖𝑗, 𝛽𝑖 > 0 denote the fractional part • Imposing the above constraint (the cut) excludes the vertex associated with current optimal BFS from the feasible region • The cut involves non-basic variables; however, original constraint equations may be used to replace them with basic variables • Repeated application of additional cuts reduces the feasible region to where the optimal BFS is integral.
  • 26. Example: Cutting Plane Method • Consider simplified manufacturing problem given as: max 𝑥1,𝑥2 𝑓 = 7.5𝑥1 + 5𝑥2 Subject to: 10𝑥1 + 5𝑥2 ≤ 60, 5𝑥1 + 12𝑥2 ≤ 80; 𝑥1, 𝑥2 ∈ ℤ • Using Simplex method, the initial and final tableaus are: • The non-integer optimum solution is: 𝑥1 ∗ = 3.368, 𝑥2 ∗ = 5.263, 𝑓∗ = 52.58. • The first cut is given as: 𝑥1 − 𝑠2 ≤ 3 or 6𝑥1 + 12𝑥2 ≤ 83 Basic 𝒙𝟏 𝒙𝟐 𝒔𝟏 𝒔𝟐 Rhs 𝒙𝟏 1 0 0.126 -0.053 3.368 𝒙𝟐 0 1 -0.053 0.105 5.263 −𝐳 0 0 0.684 0.131 52.58 Basic 𝒙𝟏 𝒙𝟐 𝒔𝟏 𝒔𝟐 Rhs 𝒔𝟏 10 5 1 0 60 𝒔𝟐 5 12 0 1 80 −𝐳 -7.5 -5 0 0 0
  • 27. Example: Cutting Plane Method • The series of Gomory cuts that result in the optimum solution to the IP problem are given as: No . Cut Optimal solution 1. 6𝑥1 + 12𝑥2 ≤ 83 𝑥1 ∗ = 3.389, 𝑥2 ∗ = 5.222, 𝑓∗ = 51.528 1. 10𝑥1 + 6𝑥2 ≤ 65 𝑥1 ∗ = 3.357, 𝑥2 ∗ = 5.238, 𝑓∗ = 51.369 1. 7𝑥1 + 10𝑥2 ≤ 70 𝑥1 ∗ = 3.846, 𝑥2 ∗ = 4.308, 𝑓∗ = 50.385 1. 7𝑥1 + 9𝑥2 ≤ 65 𝑥1 ∗ = 3.909, 𝑥2 ∗ = 4.182, 𝑓∗ = 50.227 1. 7𝑥1 + 8𝑥2 ≤ 60 𝑥1 ∗ = 4, 𝑥2 ∗ = 4, 𝑓∗ = 50
  • 28. Example: Cutting Plane Method • Consider following IP problem: Max 𝑧 = 60𝑥1 + 90𝑥2 + 120𝑥3, Subject to: 35𝑥1 + 60𝑥2 + 140𝑥3 ≤ 1000, 15𝑥1 + 30𝑥2 + 60𝑥3 ≥ 2000, 𝑥1 + 𝑥2 − 2𝑥3 ≤ 0; 𝒙 ∈ ℤ3, 𝒙 ≥ 𝟎 LP relaxation solution: 𝑥1 ∗ = 0, 𝑥2 ∗ = 7.69, 𝑥3 ∗ = 3.85, 𝑓∗ = 1153.8 Final Simplex tableau is: Basic 𝒙𝟏 𝒙𝟐 𝒙𝟑 𝒔𝟏 𝒔𝟐 𝒔𝟑 Rhs 𝒙𝟐 0.808 1 0 0.539 0.039 0 7.69 𝒙𝟑 -0.096 0 1 -0.231 0.019 0 3.85 𝐬𝟑 0.173 0 0 0.115 0.115 1 123.1 −𝐳 0.115 0 0 2.077 0.577 0 1153.8
  • 29. Gomory Cuts for the Problem • Consider the first constraint equation: 0.808𝑥1 + x2 + 0.539𝑠1 + 0.039𝑠2 = 7.692 • The first cut is developed as: 0.808𝑥1 + 0.539𝑠1 + 0.039𝑠2 ≥ 0.692 • The following series of cuts progressively squeezes the feasible region and produces an integer solution: 𝒙∗ = (2, 6, 4), 𝑓∗ = 1140 No. Cut Optimal solution 1. 0.808𝑥1 + 0.539𝑠1 + 0.039𝑠2 − 𝑠4 = 0.692 𝑥1 ∗ = 0.857, 𝑥2 ∗ = 7, 𝑥3 ∗ = 3.929, 𝑓∗ = 1152.9 1. 0.833𝑠1 + 0.024𝑠2 + 0.881𝑠4 − 𝑠5 = 0.929 𝑥1 ∗ = 2.162, 𝑥2 ∗ = 5.946, 𝑥3 ∗ = 4.054, 𝑓∗ = 1151.3 1. 0.054𝑠1 + 0.973𝑠2 + 0.135𝑠5 − 𝑠6 = 0.946 𝑥1 ∗ = 2.083, 𝑥2 ∗ = 5.972, 𝑥3 ∗ = 4.028, 𝑓∗ = 1145.8 1. 0.056𝑠1 + 0.139𝑠5 + 0.972𝑠6 − 𝑠7 = 0.972 𝑥1 ∗ = 2, 𝑥2 ∗ = 6, 𝑥3 ∗ = 4, 𝑓∗ = 1140 View publication stats View publication stats