Solving Minimax Problems with Feasible Sequential Quadratic - - PowerPoint PPT Presentation
Solving Minimax Problems with Feasible Sequential Quadratic - - PowerPoint PPT Presentation
Qianli Deng (Shally) E-mail: dqianli@umd.edu Advisor: Dr. Mark A. Austin Department of Civil and Environmental Engineering Institute for Systems Research University of Maryland, College Park, MD 20742 E-mail: austin@isr.umd.edu Solving
Constrained minimax problem
- ( )
1,..., ( ) , 1,..., ( ) 1,..., ( ) , 1,...,
B j NI j j j LI j NE j j j LE
bl x bu n g x j n g x c x d j n h x j n h x a x b j n ≤ ≤ ≤ = ≡ − ≤ = = = ≡ − = =
Constrained minimax problem
- ( )
1,..., ( ) , 1,..., ( ) 1,..., ( ) , 1,...,
B j NI j j j LI j NE j j j LE
bl x bu n g x j n g x c x d j n h x j n h x a x b j n ≤ ≤ ≤ = ≡ − ≤ = = = ≡ − = =
* Objectives
Constrained minimax problem
- * Bounds
* Nonlinear inequality * Linear inequality * Nonlinear equality * Linear equality
( ) 1,..., ( ) , 1,..., ( ) 1,..., ( ) , 1,...,
B j NI j j j LI j NE j j j LE
bl x bu n g x j n g x c x d j n h x j n h x a x b j n ≤ ≤ ≤ = ≡ − ≤ = = = ≡ − = =
* Objectives
FSQP Algorithm
A random point A point fitting all linear constraints A point fitting all constraints An optimal point fitting all constraints
FSQP Algorithm
A random point A point fitting all linear constraints A point fitting all constraints An optimal point fitting all constraints
FSQP Algorithm
A random point A point fitting all linear constraints
- boundary + linear inequality + linear equality
A point fitting all constraints An optimal point fitting all constraints
FSQP Algorithm
A random point A point fitting all linear constraints
- boundary + linear inequality + linear equality
A point fitting all constraints
- boundary + linear inequality + linear equality + nonlinear inequality
+ nonlinear equality
An optimal point fitting all constraints
FSQP Algorithm
A random point A point fitting all linear constraints
- boundary + linear inequality + linear equality
A point fitting all constraints
- boundary + linear inequality + linear equality + nonlinear inequality
+ nonlinear equality
An optimal point fitting all constraints
FSQP Algorithm
Step 1. Initialization Step 2. A search line Step 3. Line search Step 4. Updates
- 1
k
x +
– direction – distance – a point; – Hessian matrix
k
x
k
H
k
d
k
t
1 k
H +
– an update point; – an update Hessian matrix
Initialization
- 0, j
x H p k
{ }
1
( , ) max ( ) ( ) 1,...,
NE f
n m i j j i I j NE
f x p f x p h x j n
∈ =
= − =
∑
= an initial point fitting all constraints = an identity matrix = a constant = 0
Computation of a search line
1 min , '( , , ) 2 . . ( ) ( ), 0, 1,..., 1,..., ( ) ( ), 0, 1,..., ,
k k k d k j k j k i e j k j k e e j k j
d H d f x d p bl x d bu st g x g x d j t j n h x h x d j t n a x d b + ≤ + ≤ + ∇ ≤ = = + ∇ ≤ = − + =
1
1 1 , 1 1 1 1 1 1
min , 2 . . '( , , ) ( ) ( ), 1,..., , 1,..., ( ) ( ), 1,..., , 1,...,
n
k k d k k k j k j k i j k j i i j k j k e j k j e e
d d d d s t bl x d bu f x d p g x g x d j n c x d d j t n h x h x d j n a x d b j t n
γ
η γ γ γ γ
∈ ∈
− − + ≤ + ≤ ≤ + ∇ ≤ = + ≤ = − + ∇ ≤ = + = = −
ℝ ℝ
|| || /(|| || )
k k k k
d d v
κ κ
ρ = +
1 1
max(0.5,|| || )
k k
v d
τ
=
Line search
1
, '( , , ) '( , , ) max{ ( ) ( ), } ( ) ( ),
NE f f
k k k i e k k k k i e n i i j i I i I j
d H d n n f x d p n n f x d p f x f x d f x p h x d δ
∈ =
− + = = + ≠ = + ∇ − − ∇
∑
- Armijo line search
( , ) ( , ) ( ) 0, 1,..., , , 1,..., ( ) 0, 1,...,
m k k k k m k k k j k k NI j k k j LI j k k NE
f x t d p f x p t g x td j n c x td d j n h x td j n α δ + ≤ + + ≤ = + ≤ = + ≤ =
No nonlinear constraints
1
( , ) max{ ( )} ( )
NE f
n m i j j i I j
f x p f x p h x
∈ =
= −∑
Updates
- 1
k k k k
x x t d
+ =
+
1 k
H + updated by BFGS formula with Powell’s modification
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
, ( , ) ( , ) 1, 0.2 0.8 (1 )
k k k k x k k x k k T T k k k k k T k k k k T T k k k k k k k k k k k T T k k k k k k k k T T k k k k k
x x L x p L x p H H
- therwise
H H H H H H H η γ η γ η η θ η η η η η γ ξ θ γ θ γ η η ξ ξ η η η ξ
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
= − = ∇ − ∇ ≥ = − = ⋅ + − ⋅ = − +
1 +
, , 1 1, 1 ,
max{ , }
k j k j j k j j k j
p p p p
- therwise
µ ε ε µ δ
+
+ ≥ = −
1 k k = +
Implementation
- JFSQP.java
Initial.java QP.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java
Implementation
- JFSQP.java
Initial.java QP.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java Loop 2. Find optimal point Loop 1. Find initial feasible point
Implementation
- JFSQP.java
Initial.java QP.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java Loop 2. Find optimal point Loop 1. Find initial feasible point
Implementation
- JFSQP.java
Initial.java QP.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java
Find a point fitting all linear constraints Find point fitting all constraints (linear + nonlinear) Find the
- ptimal
point also fitting all constraints (linear + nonlinear)
Implementation
- Three open-source Java libraries were leveraged:
1) JAMA (Version 1.0.3; 11/2012)
http://math.nist.gov/javanumerics/jama/
2) Apache Commons.Lang (Version 3.3.2; 04/2014)
http://commons.apache.org/
3) Joptimizer (Version 3.3.0; 04/2014)
http://www.joptimizer.com/
Validation
- ,
JFSQP.java Initial.java QP.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java
Validation
- ,
JFSQP.java Initial.java QP.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java testJFSQP.java testInitial.java testQP.java testMiniMax.java testQP.java testKKT.java testQP.java testBFGS_Powell.java
Validation
- ,
JFSQP.java Initial.java QP.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java testJFSQP.java testInitial.java testQP.java testMiniMax.java testQP.java testKKT.java testQP.java testBFGS_Powell.java
Validation
- ,
JFSQP.java Initial.java QP.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java testJFSQP.java testInitial.java testQP.java testMiniMax.java testQP.java testKKT.java testQP.java testBFGS_Powell.java
Validation
- ,
JFSQP.java Initial.java QP.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java testJFSQP.java testInitial.java testQP.java testMiniMax.java testQP.java testKKT.java testQP.java testBFGS_Powell.java
Validation
- ,
JFSQP.java Initial.java QP.java MiniMax.java Direction_d0.java QP.java KKT.java Direction_d1.java QP.java Arcsearch.java Check.java BFGS_Powell.java testJFSQP.java testInitial.java testQP.java testMiniMax.java testQP.java testKKT.java testQP.java testBFGS_Powell.java
Validation
- ,
testJFSQP.java testInitial.java testQP.java testMiniMax.java testQP.java testKKT.java testQP.java testBFGS_Powell.java
Validation
- ,
QP with LI, LE consts QP with LI, LE consts linear consts in QP QP with linear consts Same program checking with Matlab testJFSQP.java testInitial.java testQP.java testMiniMax.java testQP.java testKKT.java testQP.java testBFGS_Powell.java
Validation
- ,
LP, QP, NP NI, LI, NE, LE consts QP with LI, LE consts Feasible point, NP with consts QP with LI, LE consts linear consts in QP QP with linear consts Same program checking with Matlab testJFSQP.java testInitial.java testQP.java testMiniMax.java testQP.java testKKT.java testQP.java testBFGS_Powell.java
Example 1
- 1
2 1 2
1 1 x x x x − ≤ − ≤ − ≤ − ≤
Reference: Hock, Willi, and Klaus Schittkowski. "Test examples for nonlinear programming codes." Journal of Optimization Theory and Applications 30.1 (1980): 127-129.
2
1 2
min ( )
x
f x x x
∈
= − +
ℝ
Known minimizer:
,
* *
( 3,2) ; ( ) 5 (1,0) ; ( ) 1
T T
x f x x f x = − = = = −
Example 1
- 1
2 1 2
1 1 x x x x − ≤ − ≤ − ≤ − ≤
Reference: Hock, Willi, and Klaus Schittkowski. "Test examples for nonlinear programming codes." Journal of Optimization Theory and Applications 30.1 (1980): 127-129.
2
1 2
min ( )
x
f x x x
∈
= − +
ℝ
Known minimizer:
,
* *
( 3,2) ; ( ) 5 (1,0) ; ( ) 1
T T
x f x x f x = − = = = −
Example 2
- 1
2 3 3 1 2 3 1 2 3
, , 6 4 3 1 x x x x x x x x x ≥ − − + ≤ − − − =
Reference: Hock, Willi, and Klaus Schittkowski. "Test examples for nonlinear programming codes." Journal of Optimization Theory and Applications 30.1 (1980): 127-129.
3
2 2 1 2 3 1 2
min ( ) ( 3 ) 4( )
x
f x x x x x x
∈
= + + + −
ℝ
Known global minimizer:
,
* *
(0,0,1) ; ( ) 1
T
x f x = =
Example 2
- ,
Example 2
Project Schedule
- October
- Literature review;
- Specify the implementation module details;
- Structure the implementation;
November
- Develop the quadratic programming module;
- Unconstrained quadratic program;
- Strictly convex quadratic program;
- Validate the quadratic programming module;
December
- Develop the Gradient and Hessian matrix calculation module;
- Validate the Gradient and Hessian matrix calculation module;
- Midterm project report and presentation;
- January
- Develop Armijo line search module;
- Validate Armijo line search module;
February
- Develop the feasible initial point module;
- Validate the feasible initial point module;
- Integrate the program;
March
- Debug and document the program;
- Validate and test the program with case application;
April
- Add arch search variable
;
- Compare calculation efficiency of line search with arch search methods;
May
- Develop the user interface if time available;
- Final project report and presentation;
d ɶ
Deliverables
- ,