CS/ECE/ISyE 524
Introduction to Optimization
16. Intro to nonconvex models
Overview
Discrete models
Mixed-integer programming
Examples
Laurent Lessard (www.laurentlessard.com)
Spring 2016–17
Convex programs
We saw: LP, QP, QCQP, SOCP, SDP
Can be efficiently solved
Optimal cost can be bounded above and below
Local optimum is global
f (x)
4
3
2
1
-1
1
2
3
4
x
16-2
Nonconvex programs
In general, cannot be efficiently solved
Cost cannot be bounded easily
Usually we can only guarantee local optimality
Difficulty depends strongly on the instance
-1
f (x)
f (x)
4
4
3
3
2
2
1
1
1
2
3
4
x
1
2
3
4
5
x
16-3
Outline of the remainder of the course
Integer (linear) programs
I
it’s an LP where some or all variables are discrete
(boolean, integer, or general discrete-valued)
I
If all variables are integers, it’s called IP or ILP
I
If variables are mixed, it’s called MIP or MILP
Nonconvex nonlinear programs
I
If continuous, it’s called NLP
I
If discrete, it’s called MINLP
Approximation and relaxation
I
Can we solve solve a convex problem instead?
I
If not, can we approximate?
16-4
Discrete variables
Why are discrete variables sometimes necessary?
1. A decision variables is fundamentally discrete
Whether the light is off or on {0, 1}
Number of widgets produced {0, 1, 2, ...}
Dollar bill amount {$1, $5, $10, $20, $50, $100}
16-5
Discrete variables
Why are discrete variables sometimes necessary?
2. Used to represent a logic constraint algebraically.
At most two of the three machines can run at once.
z1 + z2 + z3 ≤ 2
(zi is 1 if machine i is running)
If machine 1 is running, so is machine 2.
z1 ≤ z2
16-6
Return to Top Brass
1,500
max 12f + 9s
f,s
1,250
soccer balls (s)
(650, 1100)
1,000
750
s.t. 4f + 2s ≤ 4800
f + s ≤ 1750
0 ≤ f ≤ 1000
0 ≤ s ≤ 1500
500
250
0
0
250
500
750
footballs (f )
1,000
16-7
Return to Top Brass
1,500
max 12f + 9s
f,s
1,250
soccer balls (s)
(650, 1100)
1,000
750
s.t. 4f + 2s ≤ 4800
f + s ≤ 1750
0 ≤ f ≤ 1000
0 ≤ s ≤ 1500
f and s are
multiples of 50
500
250
Same solution!
0
0
250
500
750
footballs (f )
1,000
16-8
Return to Top Brass
1,500
max 12f + 9s
f,s
soccer balls (s)
1,250
750
s.t. 4f + 2s ≤ 4800
f + s ≤ 1750
0 ≤ f ≤ 1000
0 ≤ s ≤ 1500
500
f and s are
multiples of 200
1,000
(800, 800)
250
Boundary solution!
0
0
250
500
750
footballs (f )
1,000
16-9
Return to Top Brass
1,500
max 12f + 9s
f,s
soccer balls (s)
1,250
750
s.t. 4f + 2s ≤ 4800
f + s ≤ 1750
0 ≤ f ≤ 1000
0 ≤ s ≤ 1500
500
f and s are
multiples of 225
1,000
(675, 900)
250
Interior solution!
0
0
250
500
750
footballs (f )
1,000
16-10
Mixed-integer programs
maximize c T x
x
subject to: Ax ≤ b
x ≥0
xi ∈ Si
where Si can be:
The real numbers, R
The integers, Z
Boolean, {0, 1}
A discrete set, {v1 , v2 , . . . , vk }
16-11
Mixed-integer programs
maximize c T x
x
subject to: Ax ≤ b
x ≥0
xi ∈ Si
The solution can be
Same as the LP version
On a boundary
In the interior (but not too far)
16-12
Common examples
Facility location
I
locating warehouses, services, etc.
Scheduling/sequencing
I
scheduling airline crews
Multicommodity flows
I
transporting two different goods across a network
Traveling salesman problems
I
routing deliveries
16-13
Knapsack problem
My knapsack holds at most 15 kg. I have the following items:
item number
1
2
3
4
5
weight
12 kg
2 kg
4 kg
1 kg
1 kg
value
$4
$2
$10
$2
$1
How can I maximize the value of the items in my knapsack?
(
1 knapsack contains item i
Let zi =
0 otherwise
16-14
Knapsack problem
My knapsack holds at most 15 kg. I have the following items:
item number
1
2
3
4
5
weight
12 kg
2 kg
4 kg
1 kg
1 kg
value
$4
$2
$10
$2
$1
How can I maximize the value of the items in my knapsack?
maximize 4z1 + 2z2 + 10z3 + 2z4 + z5
z
subject to: 12z1 + 2z2 + 4z3 + z4 + z5 ≤ 15
zi ∈ {0, 1} for all i
16-15
General (0,1) knapsack
weights w1 , . . . , wn and limit W .
values v1 , . . . , vn
decision variables z1 , . . . , zn
maximize
z
subject to:
n
X
vi zi
i=1
n
X
wi zi ≤ W
i=1
zi ∈ {0, 1} for i = 1, . . . , n
16-16
© Copyright 2026 Paperzz