SlideShare une entreprise Scribd logo
1  sur  41
MATLAB Optimization
Toolbox
Presented by
Chin Pei
February 28, 2003
Presentation Outline
 Introduction
 Function Optimization
 Optimization Toolbox
 Routines / Algorithms available
 Minimization Problems
 Unconstrained
 Constrained

Example

The Algorithm Description
 Multiobjective Optimization
 Optimal PID Control Example
Function Optimization
 Optimization concerns the minimization
or maximization of functions
 Standard Optimization Problem
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
( )~
~
min
x
f x
( )~
0jg x ≤
( )~
0ih x =
L U
k k kx x x≤ ≤
Equality ConstraintsSubject to:
Inequality Constraints
Side Constraints
Function Optimization
( )~
f x is the objective function, which measure
and evaluate the performance of a system.
In a standard problem, we are minimizing
the function.
For maximization, it is equivalent to minimization
of the –ve of the objective function.
~
x is a column vector of design variables, which can
affect the performance of the system.
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Function Optimization
Constraints – Limitation to the design space.
Can be linear or nonlinear, explicit or implicit functions
( )~
0jg x ≤
( )~
0ih x =
L U
k k kx x x≤ ≤
Equality Constraints
Inequality Constraints
Side Constraints
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Most algorithm require less than!!!
Optimization Toolbox
 Is a collection of functions that extend the capability of
MATLAB. The toolbox includes routines for:
 Unconstrained optimization
 Constrained nonlinear optimization, including goal
attainment problems, minimax problems, and semi-
infinite minimization problems
 Quadratic and linear programming
 Nonlinear least squares and curve fitting
 Nonlinear systems of equations solving
 Constrained linear least squares
 Specialized algorithms for large scale problems
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Minimization Algorithm
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Minimization Algorithm (Cont.)
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Equation Solving Algorithms
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Least-Squares Algorithms
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Implementing Opt. Toolbox
 Most of these optimization routines require
the definition of an M-file containing the
function, f, to be minimized.
 Maximization is achieved by supplying the
routines with –f.
 Optimization options passed to the routines
change optimization parameters.
 Default optimization parameters can be
changed through an options structure.
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Unconstrained Minimization
 Consider the problem of finding a set of
values [x1 x2]T
that solves
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
( ) ( )1
~
2 2
1 2 1 2 2
~
min 4 2 4 2 1x
x
f x e x x x x x= + + + +
[ ]1 2
~
T
x x x=
Steps
 Create an M-file that returns the
function value (Objective Function)
 Call it objfun.m
 Then, invoke the unconstrained
minimization routine
 Use fminunc
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Step 1 – Obj. Function
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
function f = objfun(x)
f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
[ ]1 2
~
T
x x x=
Objective function
Step 2 – Invoke Routine
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
x0 = [-1,1];
options = optimset(‘LargeScale’,’off’);
[xmin,feval,exitflag,output]=
fminunc(‘objfun’,x0,options);
Output arguments
Input arguments
Starting with a guess
Optimization parameters settings
Results
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
xmin =
0.5000 -1.0000
feval =
1.3028e-010
exitflag =
1
output =
iterations: 7
funcCount: 40
stepsize: 1
firstorderopt: 8.1998e-004
algorithm: 'medium-scale: Quasi-Newton line search'
Minimum point of design variables
Objective function value
Exitflag tells if the algorithm is converged.
If exitflag > 0, then local minimum is found
Some other information
More on fminunc – Input
[xmin,feval,exitflag,output,grad,hessian]=
fminunc(fun,x0,options,P1,P2,…)
 fun: Return a function of objective function.
 x0: Starts with an initial guess. The guess must be a vector of size of
number of design variables.
 option: To set some of the optimization parameters. (More after few
slides)
 P1,P2,…: To pass additional parameters.
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Ref. Manual: Pg. 5-5 to 5-9
More on fminunc – Output
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
[xmin,feval,exitflag,output,grad,hessian]=
fminunc(fun,x0,options,P1,P2,…)
 xmin: Vector of the minimum point (optimal point). The size is the
number of design variables.
 feval: The objective function value of at the optimal point.
 exitflag: A value shows whether the optimization routine is
terminated successfully. (converged if >0)
 output: This structure gives more details about the optimization
 grad: The gradient value at the optimal point.
 hessian: The hessian value of at the optimal point
Ref. Manual: Pg. 5-5 to 5-9
Options Setting – optimset
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Options =
optimset(‘param1’,value1, ‘param2’,value2,…)
 The routines in Optimization Toolbox has a set of default optimization
parameters.
 However, the toolbox allows you to alter some of those parameters,
for example: the tolerance, the step size, the gradient or hessian
values, the max. number of iterations etc.
 There are also a list of features available, for example: displaying the
values at each iterations, compare the user supply gradient or
hessian, etc.
 You can also choose the algorithm you wish to use.
Ref. Manual: Pg. 5-10 to 5-14
Options Setting (Cont.)
Options =
optimset(‘param1’,value1, ‘param2’,value2,…)
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
 Type help optimset in command window, a list of options setting available will be displayed.
 How to read? For example:
LargeScale - Use large-scale algorithm if
possible [ {on} | off ]
The default is with { }
Parameter (param1)
Value (value1)
Options Setting (Cont.)
LargeScale - Use large-scale algorithm if
possible [ {on} | off ]
 Since the default is on, if we would like to turn off, we just type:
Options =
optimset(‘LargeScale’, ‘off’)
Options =
optimset(‘param1’,value1, ‘param2’,value2,…)
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
and pass to the input of fminunc.
Useful Option Settings
 Display - Level of display [ off | iter |
notify | final ]
 MaxIter - Maximum number of iterations
allowed [ positive integer ]
 TolCon - Termination tolerance on the
constraint violation [ positive scalar ]
 TolFun - Termination tolerance on the
function value [ positive scalar ]
 TolX - Termination tolerance on X [ positive
scalar ]
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Ref. Manual: Pg. 5-10 to 5-14
Highly recommended to use!!!
fminunc and fminsearch
 fminunc uses algorithm with gradient
and hessian information.
 Two modes:
 Large-Scale: interior-reflective Newton
 Medium-Scale: quasi-Newton (BFGS)
 Not preferred in solving highly
discontinuous functions.
 This function may only give local solutions.
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
fminunc and fminsearch
 fminsearch is generally less efficient than
fminunc for problems of order greater than
two. However, when the problem is highly
discontinuous, fminsearch may be more
robust.
 This is a direct search method that does not
use numerical or analytic gradients as in
fminunc.
 This function may only give local solutions.
IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Constrained Minimization
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
[xmin,feval,exitflag,output,lambda,grad,hessian]
=
fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON,options,
P1,P2,…)
Vector of Lagrange
Multiplier at optimal
point
Example
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
( )~
1 2 3
~
min
x
f x x x x= −
2
1 22 0x x+ ≤
1 2 3
1 2 3
2 2 0
2 2 72
x x x
x x x
− − − ≤
+ + ≤
1 2 30 , , 30x x x≤ ≤
Subject to:
1 2 2 0
,
1 2 2 72
A B
− − −   
= =   
   
0 30
0 , 30
0 30
LB UB
   
   = =   
      
function f = myfun(x)
f=-x(1)*x(2)*x(3);
Example (Cont.)
2
1 22 0x x+ ≤For
Create a function call nonlcon which returns 2 constraint vectors [C,Ceq]
function [C,Ceq]=nonlcon(x)
C=2*x(1)^2+x(2);
Ceq=[];
Remember to return a null
Matrix if the constraint does
not apply
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
Example (Cont.)
x0=[10;10;10];
A=[-1 -2 -2;1 2 2];
B=[0 72]';
LB = [0 0 0]';
UB = [30 30 30]';
[x,feval]=fmincon(@myfun,x0,A,B,[],[],LB,UB,@nonlcon)
1 2 2 0
,
1 2 2 72
A B
− − −   
= =   
   
Initial guess (3 design variables)
CAREFUL!!!
fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON,options,P1,P2,…)
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
0 30
0 , 30
0 30
LB UB
   
   = =   
      
Example (Cont.)
Warning: Large-scale (trust region) method does not currently solve this type of problem, switching to
medium-scale (line search).
> In D:ProgramsMATLAB6p1toolboxoptimfmincon.m at line 213
In D:usrCHINTANGOptToolboxmin_con.m at line 6
Optimization terminated successfully:
Magnitude of directional derivative in search direction less than 2*options.TolFun and maximum
constraint violation is less than options.TolCon
Active Constraints:
2
9
x =
0.00050378663220
0.00000000000000
30.00000000000000
feval =
-4.657237250542452e-035
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained Minimization
Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
2
1 22 0x x+ ≤
1 2 3
1 2 3
2 2 0
2 2 72
x x x
x x x
− − − ≤
+ + ≤
1
2
3
0 30
0 30
0 30
x
x
x
≤ ≤
≤ ≤
≤ ≤
Const. 1
Const. 2
Const. 3
Const. 4
Const. 5
Const. 6
Const. 7
Sequence: A,B,Aeq,Beq,LB,UB,C,Ceq
Const. 8
Const. 9
Multiobjective Optimization
 Previous examples involved problems
with a single objective function.
 Now let us look at solving problem with
multiobjective function by lsqnonlin.
 Example is taken by designing an
optimal PID controller for an plant.
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective Optimization ConclusionConclusion
Simulink Example
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective Optimization ConclusionConclusion
Goal: Optimize the control parameters in Simulink model optsim.mdl
in order to minimize the error between the output and input.
Plant description:
• Third order under-damped with actuator limits.
• Actuation limits are a saturation limit and a slew rate limit.
• Saturation limit cuts off input: +/- 2 units
• Slew rate limit: 0.8 unit/sec
Simulink Example (Cont.)
Initial PID Controller Design
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective Optimization ConclusionConclusion
Solving Methodology
 Design variables are the gains in PID
controller (KP, KI and KD) .
 Objective function is the error between
the output and input.
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective Optimization ConclusionConclusion
Solving Methodology (Cont.)
 Let pid = [Kp Ki Kd]T
 Let also the step input is unity.
 F = yout - 1
 Construct a function tracklsq for
objective function.
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective Optimization ConclusionConclusion
Objective Function
function F = tracklsq(pid,a1,a2)
Kp = pid(1);
Ki = pid(2);
Kd = pid(3);
% Compute function value
opt = simset('solver','ode5','SrcWorkspace','Current');
[tout,xout,yout] = sim('optsim',[0 100],opt);
F = yout-1;
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective Optimization ConclusionConclusion
Getting the simulation
data from Simulink
The idea is perform nonlinear least squares
minimization of the errors from time 0 to 100
at the time step of 1.
So, there are 101 objective functions to minimize.
The lsqnonlin
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective Optimization ConclusionConclusion
[X,RESNORM,RESIDUAL,EXITFLAG,OUTPUT,LAMBDA,JACOBIAN]
= LSQNONLIN(FUN,X0,LB,UB,OPTIONS,P1,P2,..)
Invoking the Routine
clear all
Optsim;
pid0 = [0.63 0.0504 1.9688];
a1 = 3; a2 = 43;
options =
optimset('LargeScale','off','Display','iter','TolX',0.001,'TolFun
',0.001);
pid = lsqnonlin(@tracklsq,pid0,[],[],options,a1,a2)
Kp = pid(1); Ki = pid(2); Kd = pid(3);
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective Optimization ConclusionConclusion
Results
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective Optimization ConclusionConclusion
Optimal gains
Results (Cont.)
Initial Design
Optimization Process
Optimal Controller Result
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective Optimization ConclusionConclusion
Conclusion
 Easy to use! But, we do not know what is happening
behind the routine. Therefore, it is still important to
understand the limitation of each routine.
 Basic steps:
 Recognize the class of optimization problem
 Define the design variables
 Create objective function
 Recognize the constraints
 Start an initial guess
 Invoke suitable routine
 Analyze the results (it might not make sense)
IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization
Multiobjective OptimizationMultiobjective Optimization Conclusion
Thank You!
Questions & Suggestions?

Contenu connexe

Tendances

Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlabBilawalBaloch1
 
Support vector machine
Support vector machineSupport vector machine
Support vector machineRishabh Gupta
 
Artificial Neural Network
Artificial Neural NetworkArtificial Neural Network
Artificial Neural NetworkAtul Krishna
 
. An introduction to machine learning and probabilistic ...
. An introduction to machine learning and probabilistic .... An introduction to machine learning and probabilistic ...
. An introduction to machine learning and probabilistic ...butest
 
Optimization/Gradient Descent
Optimization/Gradient DescentOptimization/Gradient Descent
Optimization/Gradient Descentkandelin
 
Gradient descent method
Gradient descent methodGradient descent method
Gradient descent methodSanghyuk Chun
 
Matlab for beginners, Introduction, signal processing
Matlab for beginners, Introduction, signal processingMatlab for beginners, Introduction, signal processing
Matlab for beginners, Introduction, signal processingDr. Manjunatha. P
 
Neural Networks: Multilayer Perceptron
Neural Networks: Multilayer PerceptronNeural Networks: Multilayer Perceptron
Neural Networks: Multilayer PerceptronMostafa G. M. Mostafa
 
Brief Introduction to Matlab
Brief  Introduction to MatlabBrief  Introduction to Matlab
Brief Introduction to MatlabTariq kanher
 
Introduction to Neural Networks
Introduction to Neural NetworksIntroduction to Neural Networks
Introduction to Neural NetworksDatabricks
 
PRML Chapter 5
PRML Chapter 5PRML Chapter 5
PRML Chapter 5Sunwoo Kim
 
Fuzzy Logic and Neural Network
Fuzzy Logic and Neural NetworkFuzzy Logic and Neural Network
Fuzzy Logic and Neural NetworkSHIMI S L
 
P05 deep boltzmann machines cvpr2012 deep learning methods for vision
P05 deep boltzmann machines cvpr2012 deep learning methods for visionP05 deep boltzmann machines cvpr2012 deep learning methods for vision
P05 deep boltzmann machines cvpr2012 deep learning methods for visionzukun
 
Introduction to NumPy (PyData SV 2013)
Introduction to NumPy (PyData SV 2013)Introduction to NumPy (PyData SV 2013)
Introduction to NumPy (PyData SV 2013)PyData
 
Machine Learning using Support Vector Machine
Machine Learning using Support Vector MachineMachine Learning using Support Vector Machine
Machine Learning using Support Vector MachineMohsin Ul Haq
 

Tendances (20)

Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
Hands-on ML - CH3
Hands-on ML - CH3Hands-on ML - CH3
Hands-on ML - CH3
 
Support vector machine
Support vector machineSupport vector machine
Support vector machine
 
Artificial Neural Network
Artificial Neural NetworkArtificial Neural Network
Artificial Neural Network
 
. An introduction to machine learning and probabilistic ...
. An introduction to machine learning and probabilistic .... An introduction to machine learning and probabilistic ...
. An introduction to machine learning and probabilistic ...
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
 
Optimization/Gradient Descent
Optimization/Gradient DescentOptimization/Gradient Descent
Optimization/Gradient Descent
 
Gradient descent method
Gradient descent methodGradient descent method
Gradient descent method
 
Matlab for beginners, Introduction, signal processing
Matlab for beginners, Introduction, signal processingMatlab for beginners, Introduction, signal processing
Matlab for beginners, Introduction, signal processing
 
Matlab Tutorial.ppt
Matlab Tutorial.pptMatlab Tutorial.ppt
Matlab Tutorial.ppt
 
Neural Networks: Multilayer Perceptron
Neural Networks: Multilayer PerceptronNeural Networks: Multilayer Perceptron
Neural Networks: Multilayer Perceptron
 
Brief Introduction to Matlab
Brief  Introduction to MatlabBrief  Introduction to Matlab
Brief Introduction to Matlab
 
Introduction to Neural Networks
Introduction to Neural NetworksIntroduction to Neural Networks
Introduction to Neural Networks
 
Python Scipy Numpy
Python Scipy NumpyPython Scipy Numpy
Python Scipy Numpy
 
PRML Chapter 5
PRML Chapter 5PRML Chapter 5
PRML Chapter 5
 
Fuzzy Logic and Neural Network
Fuzzy Logic and Neural NetworkFuzzy Logic and Neural Network
Fuzzy Logic and Neural Network
 
P05 deep boltzmann machines cvpr2012 deep learning methods for vision
P05 deep boltzmann machines cvpr2012 deep learning methods for visionP05 deep boltzmann machines cvpr2012 deep learning methods for vision
P05 deep boltzmann machines cvpr2012 deep learning methods for vision
 
Introduction to NumPy (PyData SV 2013)
Introduction to NumPy (PyData SV 2013)Introduction to NumPy (PyData SV 2013)
Introduction to NumPy (PyData SV 2013)
 
Hands-on ML - CH1
Hands-on ML - CH1Hands-on ML - CH1
Hands-on ML - CH1
 
Machine Learning using Support Vector Machine
Machine Learning using Support Vector MachineMachine Learning using Support Vector Machine
Machine Learning using Support Vector Machine
 

Similaire à Optimization toolbox presentation

R/Finance 2009 Chicago
R/Finance 2009 ChicagoR/Finance 2009 Chicago
R/Finance 2009 Chicagogyollin
 
2009 : Solving linear optimization problems with MOSEK
2009 : Solving linear optimization problems with MOSEK2009 : Solving linear optimization problems with MOSEK
2009 : Solving linear optimization problems with MOSEKjensenbo
 
Handout2.pdf
Handout2.pdfHandout2.pdf
Handout2.pdfShoukat13
 
Techniques in Deep Learning
Techniques in Deep LearningTechniques in Deep Learning
Techniques in Deep LearningSourya Dey
 
Economic Dispatch of Generated Power Using Modified Lambda-Iteration Method
Economic Dispatch of Generated Power Using Modified Lambda-Iteration MethodEconomic Dispatch of Generated Power Using Modified Lambda-Iteration Method
Economic Dispatch of Generated Power Using Modified Lambda-Iteration MethodIOSR Journals
 
4optmizationtechniques-150308051251-conversion-gate01.pdf
4optmizationtechniques-150308051251-conversion-gate01.pdf4optmizationtechniques-150308051251-conversion-gate01.pdf
4optmizationtechniques-150308051251-conversion-gate01.pdfBechanYadav4
 
XGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionXGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionJaroslaw Szymczak
 
Functional Programming in Java 8
Functional Programming in Java 8Functional Programming in Java 8
Functional Programming in Java 8Omar Bashir
 
Unit 1 - Optimization methods.pptx
Unit 1 - Optimization methods.pptxUnit 1 - Optimization methods.pptx
Unit 1 - Optimization methods.pptxssuser4debce1
 
Accelerated Training of Transformer Models
Accelerated Training of Transformer ModelsAccelerated Training of Transformer Models
Accelerated Training of Transformer ModelsDatabricks
 
5.2 Least Squares Linear Regression.pptx
5.2  Least Squares Linear Regression.pptx5.2  Least Squares Linear Regression.pptx
5.2 Least Squares Linear Regression.pptxMaiEllahham1
 

Similaire à Optimization toolbox presentation (20)

R/Finance 2009 Chicago
R/Finance 2009 ChicagoR/Finance 2009 Chicago
R/Finance 2009 Chicago
 
2009 : Solving linear optimization problems with MOSEK
2009 : Solving linear optimization problems with MOSEK2009 : Solving linear optimization problems with MOSEK
2009 : Solving linear optimization problems with MOSEK
 
Xgboost
XgboostXgboost
Xgboost
 
Handout2.pdf
Handout2.pdfHandout2.pdf
Handout2.pdf
 
Techniques in Deep Learning
Techniques in Deep LearningTechniques in Deep Learning
Techniques in Deep Learning
 
Xgboost
XgboostXgboost
Xgboost
 
18.1 combining models
18.1 combining models18.1 combining models
18.1 combining models
 
Economic Dispatch of Generated Power Using Modified Lambda-Iteration Method
Economic Dispatch of Generated Power Using Modified Lambda-Iteration MethodEconomic Dispatch of Generated Power Using Modified Lambda-Iteration Method
Economic Dispatch of Generated Power Using Modified Lambda-Iteration Method
 
4optmizationtechniques-150308051251-conversion-gate01.pdf
4optmizationtechniques-150308051251-conversion-gate01.pdf4optmizationtechniques-150308051251-conversion-gate01.pdf
4optmizationtechniques-150308051251-conversion-gate01.pdf
 
Optmization techniques
Optmization techniquesOptmization techniques
Optmization techniques
 
optmizationtechniques.pdf
optmizationtechniques.pdfoptmizationtechniques.pdf
optmizationtechniques.pdf
 
Code Optimizatoion
Code OptimizatoionCode Optimizatoion
Code Optimizatoion
 
Repair dagstuhl jan2017
Repair dagstuhl jan2017Repair dagstuhl jan2017
Repair dagstuhl jan2017
 
XGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionXGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competition
 
Functional Programming in Java 8
Functional Programming in Java 8Functional Programming in Java 8
Functional Programming in Java 8
 
Optimization
OptimizationOptimization
Optimization
 
Unit 1 - Optimization methods.pptx
Unit 1 - Optimization methods.pptxUnit 1 - Optimization methods.pptx
Unit 1 - Optimization methods.pptx
 
Accelerated Training of Transformer Models
Accelerated Training of Transformer ModelsAccelerated Training of Transformer Models
Accelerated Training of Transformer Models
 
5.2 Least Squares Linear Regression.pptx
5.2  Least Squares Linear Regression.pptx5.2  Least Squares Linear Regression.pptx
5.2 Least Squares Linear Regression.pptx
 
CH1.ppt
CH1.pptCH1.ppt
CH1.ppt
 

Dernier

Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 

Dernier (20)

Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 

Optimization toolbox presentation

  • 2. Presentation Outline  Introduction  Function Optimization  Optimization Toolbox  Routines / Algorithms available  Minimization Problems  Unconstrained  Constrained  Example  The Algorithm Description  Multiobjective Optimization  Optimal PID Control Example
  • 3. Function Optimization  Optimization concerns the minimization or maximization of functions  Standard Optimization Problem IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion ( )~ ~ min x f x ( )~ 0jg x ≤ ( )~ 0ih x = L U k k kx x x≤ ≤ Equality ConstraintsSubject to: Inequality Constraints Side Constraints
  • 4. Function Optimization ( )~ f x is the objective function, which measure and evaluate the performance of a system. In a standard problem, we are minimizing the function. For maximization, it is equivalent to minimization of the –ve of the objective function. ~ x is a column vector of design variables, which can affect the performance of the system. IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 5. Function Optimization Constraints – Limitation to the design space. Can be linear or nonlinear, explicit or implicit functions ( )~ 0jg x ≤ ( )~ 0ih x = L U k k kx x x≤ ≤ Equality Constraints Inequality Constraints Side Constraints IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion Most algorithm require less than!!!
  • 6. Optimization Toolbox  Is a collection of functions that extend the capability of MATLAB. The toolbox includes routines for:  Unconstrained optimization  Constrained nonlinear optimization, including goal attainment problems, minimax problems, and semi- infinite minimization problems  Quadratic and linear programming  Nonlinear least squares and curve fitting  Nonlinear systems of equations solving  Constrained linear least squares  Specialized algorithms for large scale problems IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 7. Minimization Algorithm IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 8. Minimization Algorithm (Cont.) IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 9. Equation Solving Algorithms IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 10. Least-Squares Algorithms IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 11. Implementing Opt. Toolbox  Most of these optimization routines require the definition of an M-file containing the function, f, to be minimized.  Maximization is achieved by supplying the routines with –f.  Optimization options passed to the routines change optimization parameters.  Default optimization parameters can be changed through an options structure. IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 12. Unconstrained Minimization  Consider the problem of finding a set of values [x1 x2]T that solves IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion ( ) ( )1 ~ 2 2 1 2 1 2 2 ~ min 4 2 4 2 1x x f x e x x x x x= + + + + [ ]1 2 ~ T x x x=
  • 13. Steps  Create an M-file that returns the function value (Objective Function)  Call it objfun.m  Then, invoke the unconstrained minimization routine  Use fminunc IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 14. Step 1 – Obj. Function IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion function f = objfun(x) f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1); [ ]1 2 ~ T x x x= Objective function
  • 15. Step 2 – Invoke Routine IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion x0 = [-1,1]; options = optimset(‘LargeScale’,’off’); [xmin,feval,exitflag,output]= fminunc(‘objfun’,x0,options); Output arguments Input arguments Starting with a guess Optimization parameters settings
  • 16. Results IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion xmin = 0.5000 -1.0000 feval = 1.3028e-010 exitflag = 1 output = iterations: 7 funcCount: 40 stepsize: 1 firstorderopt: 8.1998e-004 algorithm: 'medium-scale: Quasi-Newton line search' Minimum point of design variables Objective function value Exitflag tells if the algorithm is converged. If exitflag > 0, then local minimum is found Some other information
  • 17. More on fminunc – Input [xmin,feval,exitflag,output,grad,hessian]= fminunc(fun,x0,options,P1,P2,…)  fun: Return a function of objective function.  x0: Starts with an initial guess. The guess must be a vector of size of number of design variables.  option: To set some of the optimization parameters. (More after few slides)  P1,P2,…: To pass additional parameters. IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion Ref. Manual: Pg. 5-5 to 5-9
  • 18. More on fminunc – Output IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion [xmin,feval,exitflag,output,grad,hessian]= fminunc(fun,x0,options,P1,P2,…)  xmin: Vector of the minimum point (optimal point). The size is the number of design variables.  feval: The objective function value of at the optimal point.  exitflag: A value shows whether the optimization routine is terminated successfully. (converged if >0)  output: This structure gives more details about the optimization  grad: The gradient value at the optimal point.  hessian: The hessian value of at the optimal point Ref. Manual: Pg. 5-5 to 5-9
  • 19. Options Setting – optimset IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion Options = optimset(‘param1’,value1, ‘param2’,value2,…)  The routines in Optimization Toolbox has a set of default optimization parameters.  However, the toolbox allows you to alter some of those parameters, for example: the tolerance, the step size, the gradient or hessian values, the max. number of iterations etc.  There are also a list of features available, for example: displaying the values at each iterations, compare the user supply gradient or hessian, etc.  You can also choose the algorithm you wish to use. Ref. Manual: Pg. 5-10 to 5-14
  • 20. Options Setting (Cont.) Options = optimset(‘param1’,value1, ‘param2’,value2,…) IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion  Type help optimset in command window, a list of options setting available will be displayed.  How to read? For example: LargeScale - Use large-scale algorithm if possible [ {on} | off ] The default is with { } Parameter (param1) Value (value1)
  • 21. Options Setting (Cont.) LargeScale - Use large-scale algorithm if possible [ {on} | off ]  Since the default is on, if we would like to turn off, we just type: Options = optimset(‘LargeScale’, ‘off’) Options = optimset(‘param1’,value1, ‘param2’,value2,…) IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion and pass to the input of fminunc.
  • 22. Useful Option Settings  Display - Level of display [ off | iter | notify | final ]  MaxIter - Maximum number of iterations allowed [ positive integer ]  TolCon - Termination tolerance on the constraint violation [ positive scalar ]  TolFun - Termination tolerance on the function value [ positive scalar ]  TolX - Termination tolerance on X [ positive scalar ] IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion Ref. Manual: Pg. 5-10 to 5-14 Highly recommended to use!!!
  • 23. fminunc and fminsearch  fminunc uses algorithm with gradient and hessian information.  Two modes:  Large-Scale: interior-reflective Newton  Medium-Scale: quasi-Newton (BFGS)  Not preferred in solving highly discontinuous functions.  This function may only give local solutions. IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 24. fminunc and fminsearch  fminsearch is generally less efficient than fminunc for problems of order greater than two. However, when the problem is highly discontinuous, fminsearch may be more robust.  This is a direct search method that does not use numerical or analytic gradients as in fminunc.  This function may only give local solutions. IntroductionIntroduction Unconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 25. Constrained Minimization IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion [xmin,feval,exitflag,output,lambda,grad,hessian] = fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON,options, P1,P2,…) Vector of Lagrange Multiplier at optimal point
  • 26. Example IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion ( )~ 1 2 3 ~ min x f x x x x= − 2 1 22 0x x+ ≤ 1 2 3 1 2 3 2 2 0 2 2 72 x x x x x x − − − ≤ + + ≤ 1 2 30 , , 30x x x≤ ≤ Subject to: 1 2 2 0 , 1 2 2 72 A B − − −    = =        0 30 0 , 30 0 30 LB UB        = =           function f = myfun(x) f=-x(1)*x(2)*x(3);
  • 27. Example (Cont.) 2 1 22 0x x+ ≤For Create a function call nonlcon which returns 2 constraint vectors [C,Ceq] function [C,Ceq]=nonlcon(x) C=2*x(1)^2+x(2); Ceq=[]; Remember to return a null Matrix if the constraint does not apply IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion
  • 28. Example (Cont.) x0=[10;10;10]; A=[-1 -2 -2;1 2 2]; B=[0 72]'; LB = [0 0 0]'; UB = [30 30 30]'; [x,feval]=fmincon(@myfun,x0,A,B,[],[],LB,UB,@nonlcon) 1 2 2 0 , 1 2 2 72 A B − − −    = =        Initial guess (3 design variables) CAREFUL!!! fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON,options,P1,P2,…) IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion 0 30 0 , 30 0 30 LB UB        = =          
  • 29. Example (Cont.) Warning: Large-scale (trust region) method does not currently solve this type of problem, switching to medium-scale (line search). > In D:ProgramsMATLAB6p1toolboxoptimfmincon.m at line 213 In D:usrCHINTANGOptToolboxmin_con.m at line 6 Optimization terminated successfully: Magnitude of directional derivative in search direction less than 2*options.TolFun and maximum constraint violation is less than options.TolCon Active Constraints: 2 9 x = 0.00050378663220 0.00000000000000 30.00000000000000 feval = -4.657237250542452e-035 IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained Minimization Multiobjective OptimizationMultiobjective Optimization ConclusionConclusion 2 1 22 0x x+ ≤ 1 2 3 1 2 3 2 2 0 2 2 72 x x x x x x − − − ≤ + + ≤ 1 2 3 0 30 0 30 0 30 x x x ≤ ≤ ≤ ≤ ≤ ≤ Const. 1 Const. 2 Const. 3 Const. 4 Const. 5 Const. 6 Const. 7 Sequence: A,B,Aeq,Beq,LB,UB,C,Ceq Const. 8 Const. 9
  • 30. Multiobjective Optimization  Previous examples involved problems with a single objective function.  Now let us look at solving problem with multiobjective function by lsqnonlin.  Example is taken by designing an optimal PID controller for an plant. IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective Optimization ConclusionConclusion
  • 31. Simulink Example IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective Optimization ConclusionConclusion Goal: Optimize the control parameters in Simulink model optsim.mdl in order to minimize the error between the output and input. Plant description: • Third order under-damped with actuator limits. • Actuation limits are a saturation limit and a slew rate limit. • Saturation limit cuts off input: +/- 2 units • Slew rate limit: 0.8 unit/sec
  • 32. Simulink Example (Cont.) Initial PID Controller Design IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective Optimization ConclusionConclusion
  • 33. Solving Methodology  Design variables are the gains in PID controller (KP, KI and KD) .  Objective function is the error between the output and input. IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective Optimization ConclusionConclusion
  • 34. Solving Methodology (Cont.)  Let pid = [Kp Ki Kd]T  Let also the step input is unity.  F = yout - 1  Construct a function tracklsq for objective function. IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective Optimization ConclusionConclusion
  • 35. Objective Function function F = tracklsq(pid,a1,a2) Kp = pid(1); Ki = pid(2); Kd = pid(3); % Compute function value opt = simset('solver','ode5','SrcWorkspace','Current'); [tout,xout,yout] = sim('optsim',[0 100],opt); F = yout-1; IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective Optimization ConclusionConclusion Getting the simulation data from Simulink The idea is perform nonlinear least squares minimization of the errors from time 0 to 100 at the time step of 1. So, there are 101 objective functions to minimize.
  • 36. The lsqnonlin IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective Optimization ConclusionConclusion [X,RESNORM,RESIDUAL,EXITFLAG,OUTPUT,LAMBDA,JACOBIAN] = LSQNONLIN(FUN,X0,LB,UB,OPTIONS,P1,P2,..)
  • 37. Invoking the Routine clear all Optsim; pid0 = [0.63 0.0504 1.9688]; a1 = 3; a2 = 43; options = optimset('LargeScale','off','Display','iter','TolX',0.001,'TolFun ',0.001); pid = lsqnonlin(@tracklsq,pid0,[],[],options,a1,a2) Kp = pid(1); Ki = pid(2); Kd = pid(3); IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective Optimization ConclusionConclusion
  • 38. Results IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective Optimization ConclusionConclusion Optimal gains
  • 39. Results (Cont.) Initial Design Optimization Process Optimal Controller Result IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective Optimization ConclusionConclusion
  • 40. Conclusion  Easy to use! But, we do not know what is happening behind the routine. Therefore, it is still important to understand the limitation of each routine.  Basic steps:  Recognize the class of optimization problem  Define the design variables  Create objective function  Recognize the constraints  Start an initial guess  Invoke suitable routine  Analyze the results (it might not make sense) IntroductionIntroduction Unconstrained MinimizationUnconstrained Minimization Constrained MinimizationConstrained Minimization Multiobjective OptimizationMultiobjective Optimization Conclusion
  • 41. Thank You! Questions & Suggestions?