pilani campus nwlmb 14.pdfbitspilani pilani campus national workshop on latexand matlab for...

55
BITS Pilani Pilani Campus National Workshop on LaTeX and MATLAB for Beginners 24 - 28 December, 2014 BITS Pilani, Partially Supported by DST, Rajasthan

Upload: others

Post on 21-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

BITS PilaniPilani Campus

National Workshop on LaTeX and MATLAB for Beginners

24 - 28 December, 2014BITS Pilani,

Partially Supported by DST, Rajasthan

BITS PilaniPilani Campus

Lecture - 12: OPTIMIZATION TOOL

BOX Dr. Shivi Agarwal

BITS Pilani, Pilani Campus

3

• Solving Linear Programming Problems• Solving Quadratic Programming Problems• Determine the minimum of a function of unconstrained

problem• Determine the minimum of a function of constrained

problem• Solve a system of nonlinear equations• Determine the maximum of minimum of a function• Genetic Algorithm

– By the command line– By Optimization App: optimtool

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Solving Linear Programming Problems

4

1 2( , , ... )

T

n

f X

AX bC X b

l

M insubject to

w her X x x xb

eb X u

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

5

[x,fval] = linprog(f,A,b,C,d,lb,ub)

Input arguments:• f: coefficient vector of the objective function• A,[ ]: Matrix of inequality constraints, no

inequality constraints• b,[ ]: right hand side of the inequality constraints,

no inequality constraints

1 2

. .

( , , ... )

T

n

f X

AX bCX bl

X x x xb X ub

Mins t

Solving Linear Programming Problems

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

[x,fval] = linprog(f,A,b,C,d,lb,ub)

• C,[ ]: Matrix of equality constraints, no equality constraints

• d,[ ]: right hand side of the equality constraints, no equality constraints

• lb,[ ]: lb ≤ x : lower bounds for x, no lower bounds

• ub,[ ]: x ≤ ub : upper bounds for x, no upper bounds

6

Solving Linear Programming Problems

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

[x,fval] = linprog(f,A,b,C,d,lb,ub)

Output arguments:•x: optimal solution, i.e. optimal values of the decision variables

•fval: optimal value of the objective function

7

Solving Linear Programming Problems

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Example: Consider the LPP

8

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 5

2 2 4

Maximizesu

402 2 84 2 10

, , , 0

bject toz x x x x

x x x xx x x xx x x x

x x x x

Solving Linear Programming Problems

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

MATLAB Code

>> clear;>> f = [-2;-1;3;-5];>> A = [1,2,2,4;2,-1,1,2;4,-2,1,-1];>> b = [40;8;10];>> lb = zeros(4,1);>> [x,fval]=linprog(f,A,b,[],[],lb)

9

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 5

2 2 4 402 2 84 2

, , 0

. .

10,

M z x x x x

x x x xx x x xx x x

axs t

xx x x x

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Screen shot of the .m file

10

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 5

2 2 4 402 2 84 2

, , 0

. .

10,

M z x x x x

x x x xx x x xx x x

axs t

xx x x x

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Screen shot of the results

11

i.e.,x1 = 0, x2 = 6, x3 = 0, x4 = 7 with max. z = 41.

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Screen shot of the .m file

12

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

Maxs.t

2 3 41;

2 2;3 2 4;

, ,

.

0

Z x x xx x x

x x xx x xx x x

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Screen shot of the results

13December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Solving LPPs

14

[x,fval]= linprog(f,A,b,C,d,lb,ub,x0,option)

Input arguments:• x0 : Start vector for the algorithm, if known, else [ ].• options: options are set using the optimset function,

they determine what algorithm to use, etc.

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

• To display the iterations you can try:

[x,fval] =linprog(f,A,a,B,b,lb,ub,[],optimset(’Display’,’iter’))

15

Solving LPPs

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Quadratic programming is the problem of findinga vector X that minimizes a quadratic function,subject to linear constraints:

161 2

1

...

2

( , , )

T

n

Tz X Q X q X

A X bC X

M in

s u b jec t to

w h e r X x x

dlb X u

xb

e

Solving Quadratic Programming Problems

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Input arguments:• Q: Hessian of the objective

function• q: Coefficient vector of the linear

part of the objective function• A,[ ]: Matrix of inequality

constraints, no inequality constraints 17

Solving QPP

[xsol,fval] = quadprog(Q,q,A,b,C,d,lb,ub)

1 2

. .

( , ,..

12

. )

T T

n

z X QX q X

AX bCX dlb

X x

M

X u

in

s t

w xhere xb

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

[xsol,fval] = quadprog(Q,q,A,b,C,d,lb,ub)• b,[ ]: right hand side of the inequality constraints,

no inequality constraints• C,[ ]: Matrix of equality constraints, no equality

constraints• d,[ ]: right hand side of the equality constraints, no

equality constraints• lb,[ ]: lb ≤ x : lower bounds for x, no lower bounds• ub,[ ]: x ≤ ub : upper bounds for x, no upper

bounds 18

Solving QPP

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

[xsol,fval] = quadprog(Q,q,A,b,C,d,lb,ub)

Output arguments:• xsol: optimal solution• fval: optimal value of the objective function

19

Solving QPP

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Example:

20

2 2 21 2 1 2 3 2 3 1 2 3

1 2 3

1 2 3

1 2 3

2 2 2 4 6 12

62 2

, , 0

Minsubject

z x x x x x x x x x x

x x xx x xx x x

to

2 1 01 4 2 ; [4 6 12];0 2 4

Q q

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Screen shot of the .m file

21

2 2 21 2 1 2 3 2 3

1 2 3

1 2 3

1 2 3

1 2 3

2 2 24 6 12

62 2

, 0

.

,

.

z x x x x x x xx x x

x x xx

Min

s t

x xx x x

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Screen shot of the results

22

i.e.,x1 = 3.3333, x2 = 0, x3 = 2.6667, with min. z = 70.6667.

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Determine the minimum of a function of unconstrained problem

23

( )n

Min f xx R

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

[xsol,fopt] = fminunc(@fun,x0)

Input arguments:• fun: a MATLAB function m-file that contains

the function to be minimized• x0: Start vector for the algorithmOutput arguments:• xsol: optimal solution• fopt: optimal value of the objective function;

i.e., f(xsol) 24

Determine the minimum of a function of unconstrained problem

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Example:

25

2 2 21 2 3Mini i 5m e 3z z x x x

fun.mfunction f = fun(x) f = x(1)^2+3*x(2)^2+5*x(3)^2;

>> x0=[1,1,1];>>[xsol,fopt] = fminunc(@fun,x0)

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

26

i.e.,x1 = -0.2557, x2 = 0.5323, x3 = -0.0355, with min z = 9.2158e-13.

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

Determine the minimum of a function of unconstrained problem

BITS Pilani, Pilani Campus

Determine the minimum of a function of constrained problem

27

(nonlinear constraint with inequality)(nonlinear constraint with equality)(linear constraint with inequality)(line

(

ar constraint w

)

( ) 0( ) 0

. .

ith equality)

f X

c Xceq XAX bCX dlb X u

ins t

b

M

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Input arguments:• fun: a MATLAB function m-file that

contains the function to be minimzed• x0: Start vector for the algorithm• nonlcon: a MATLAB function m-file

that contains the nonlinear inequalities and/or equalities constraints

28

( )

( ) 0(

.

0

.

)

M f Xinsc Xceq XAX bCX

X b

t

dlb u

[xsol,fopt] = fmincon(@fun,x0,A,b,C,d,lb,ub,nonlcon,options)

Determine the minimum of a function of constrained problem

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Output arguments:• xsol: optimal solution• fopt: optimal value of the objective

function; i.e., f(xsol)29

( )

( ) 0(

.

0

.

)

M f Xinsc Xceq XAX bCX

X b

t

dlb u

Determine the minimum of a function of constrained problem[xsol,fopt] = fmincon(@fun,x0,A,b,C,d,lb,ub,nonlcon,options)

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Problem

• Consider the problem of minimizing functionf (x) = 100(x2 − x1

2)2 + (1 − x1)2 ,over the unit disk, i.e., the disk of radius 1centered at the origin.

In other words, find x that minimizes the functionf(x) over the set x1

2+ x22 ≤ 1

• This problem is a minimization of a nonlinear function with a nonlinear constraint.

30December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Solution

• Create a .m file named fun asfunction f = fun(x) f = 100*(x(2) - x(1)^2)^2 + (1 - x(1))^2;

• Create a .m file named unitdisk asfunction [c, ceq] = unitdisk(x) c = x(1)^2 + x(2)^2 - 1;ceq = [ ];

31December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

• [xsol,fopt] = fmincon(@fun,x0,A,b,C,d,lb,ub,nonlcon,options)

• [x,fval] = fmincon(@fun,[0 0],[],[],[],[],[],[], @unitdisk)

32

Determine the minimum of a function of constrained problem

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

33

Determine the minimum of a function of constrained problem

i.e.,x1 = 0.7864, x2 = 0.6177with min. f(x) = 0.0457

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

34

Solve a system of nonlinear equations

1 2

( ) 0( , ,..., )

( ):function that returns the vector valueofn

F XX x x x

F X X

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

x = fsolve(@myfun,x0)Input arguments:• myfun: a MATLAB function m-file that

accepts a vector X and returns a vector F, thenonlinear equations evaluated at X.

• x0: Start vector for the algorithm

35

Solve a system of nonlinear equations

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Example:

36

1

2

1 2

1 2

2 0( )

2 0

x

x

x x eF X

x x e

myfun.mfunction F = myfun(x) F = [2*x(1) - x(2) - exp(-x(1));

-x(1) + 2*x(2) - exp(-x(2))];

>> x0=[-5;-5];>> [x,fval] = fsolve(@myfun,x0)

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

37

Solve a system of nonlinear equations

i.e.,x1 = x2 = 0.5671with F1 = F2 = -0.4059

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Determine the minimum of maximum of functions

38

{ }

(nonlinear constraint with inequality)(nonlinear constraint with equality)(linear constraint with inequality)(linear constraint with equalit

{ ( )}

( ) 0.

) 0

.

y)

(

iX F iF X

c Xceq XAX bC

Min

X

Max

s t

dlb X ub

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Input arguments:• fun: a MATLAB function m-file that

contains the functions • x0: Start vector for the algorithm• nonlcon: a MATLAB function m-file

that contains the nonlinear inequalities and/or equalities constraints

39

{ }{ ( )}

( ).

0( ) 0

.i

iX FF X

c Xceq XAX bC

M in M ax

s t

X dlb X ub

[x,fval] = fminimax(@fun,x0,A,b,C,d,lb,ub,nonlcon,options)

Determine the minimum of maximum of functions

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Output arguments:• x: optimal solution• fval: optimal values of the functions

40

[x,fval] = fminimax(@fun,x0,A,b,C,d,lb,ub,nonlcon,options)

Determine the minimum of maximum of functions

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Problem

• Find values of x that minimize the maximum value of [ f1(x) , f2(x) , f3(x) , f4(x) , f5(x)]

41

2 21 1 2 1 2

2 22 1 2

3 1 2

4 1 2

5 1 2

( ) 2 48 40 304

( ) 3( ) 3 18( )( ) 8

f x x x x xf x x xf x x xf x x xf x x x

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Solution

• Create a .m file named funminmax asfunction f = funminmax(x) f(1)= 2*x(1)^2+x(2)^2-48*x(1)-

40*x(2)+304; f(2)= -x(1)^2 - 3*x(2)^2;f(3)= x(1) + 3*x(2) -18;f(4)= -x(1)- x(2);f(5)= x(1) + x(2) - 8;

42December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Example:

43

>> x0=[0.1;0.1];>> [x,fval] = fminimax(@funminmax,x0)

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

[x fval] = ga(@fitnessfun, nvars, options)

Input arguments:• fitnessfun: a MATLAB function m-file that

handle to the fitness function and contains thefunction to be minimzed.

• nvars: the number of independent variables for the fitness function.

• options: a structure containing options for the genetic algorithm. If you do not pass in this argument, ga uses its default options. 44

Genetic Algorithm

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

[x fval] = ga(@fitnessfun, nvars, options)

Output arguments:• x: Point at which the final value is

attained• fval: Final value of the fitness function

45

Genetic Algorithm

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Example:

46

2 2 21 2 1Minimize 100( ) (1 )z x x x

fitness.mfunction z = fitness(x)z = 100 * (x(1)^2 - x(2)) ^2 + (1 - x(1))^2;

>> fitnessfunction = @fitness; >> nov = 2; >>[x,fval] = ga(fitnessfunction,nov)

or>>[x,fval] = ga(@fitness,2)

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Screen shot of the results

47December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

i.e.,x1 = 0.9652, x2 = 0.9340, with min. z = 0.0017.

BITS Pilani, Pilani Campus

Example:

48

2 2 21 2 1

1 2 1 2

1 2

1

2

100( ) (1 )

1.5 01

. .

0 00 10 13

z x x x

x x

Minimiz

x xx x

xx

es t

Genetic Algorithm

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Solution• Create a .m file named fitness asfunction f = fitness(x) f = 100*(x(1)^2 - x(2))^2 + (1 - x(1))^2;

• Create a .m file named constraint asfunction [c, ceq] = constraint(x) c = [1.5 + x(1)*x(2) + x(1) - x(2);

-x(1)*x(2) + 10];ceq = [];

49

2 21 2

21

1 2 1 2

1 2

1

2

. .

100( )(1 )

1.5 010 00 10 13

Min

s

z x xx

x x x xx x

xx

t

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

>> ObjectiveFunction = @fitness; >> nvars = 2; % Number of variables >> LB = [0 0]; % Lower bound >> UB = [1 13]; % Upper bound >> ConstraintFunction = @constraint; >> [x,fval] =

ga(ObjectiveFunction,nvars,[],[],[],[],LB,UB,ConstraintFunction)

50

Genetic Algorithm

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Screen shot of the results

51December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

i.e.,x1 = 0.8122, x2 = 12.3122, with min. z = 13578.

BITS Pilani, Pilani Campus

Solving Linear Programming Problems

52

• By Optimization App: optimtool

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Solving Linear Programming Problems

53

• By Optimization App: optimtool

December 28, 2014 Dr. Shivi Agarwal, NWLMB-2014

BITS Pilani, Pilani Campus

Other Commands

• fgoalattain: Solve multiobjective goal attainment problem,

• fminbnd: Find a minimum of a function of one variable on a fixed interval,

• fseminf: Find a minimum of a semi-infinitely constrained multivariable nonlinear function,

• lsqnonlin: Solve nonlinear least-squares (nonlinear data-fitting) problem,

Dr. Shivi Agarwal; NWLMB-2014 54

BITS Pilani, Pilani CampusDecember 28, 2014 Dr. Shivi Agarwal, NWLMB-2014