Assignment 1 Math
Assignment 1 Math
Math 6026
Professor:
Dr. Pedro Vsquez Urbano
Numerical Optimization
Assignment 1
[ ]
2
f ( x)= 6 x 6 x12 xy +6 y 2 +6 y
6 x2 +12 xy+ 6 x
[
2 f ( x)= 12 x612 y 12 x +12 y+ 6
12 x +12 y +6 12 x ]
f =0
6 x 2+12 xy +6 x=0
(6)(x)( x +1)
y=
12 x
1
y= ( x +1)
2
Replace:
1 1
( x+1) 2 +6( (x +1))=0
2 2
1
6 x 2 +12 x ( ( x +1))+6
2
6
6 x 26 x+ 6 x2 +6 x + ( x 2+2 x +1 )3 x3=0
4
1
Numerical Optimization Assignment #1 L. ARCE
2 2 6 2 6
6 x 6 x+ 6 x +6 x + x +3 x + 3 x3=0
4 4
2 6 1
x 13.5 =0 x=
4 3
Evaluating
[]
1
2
f ( x)= [ 12 x612 y 12 x +12 y+ 6
12 x +12 y +6 12 x ] =
3
1
3
2 f ( x)(
1 1
3 3 [
, )= 2 6
6 4 ] 1=1< 0 2=22>0
Conclution no is P.D
Not is conc
Not is convex
Not local max, not local min
3 3
2. Solve min f(x; y) = x + y 3 xy
[
f = 3 x 23 y
3 y 23 x ]
a. 3x2 - 3y = 0
x2 - y = 0
x2 = y
b. 3y2 - 3x = 0
y2 - x = 0
2
Numerical Optimization Assignment #1 L. ARCE
y2 = x
3 0 [
2 f (0,0)= 0 3 ] 1=0 2=9 Not is P.D
2 f (1,1)= 6 3
3 6 [ ] 1=6 2=27 is P.D
3. Suppose that f (x) and g(x) are convex functions dened over a convex set
C in Rn and that h(x)=max{f (x), g(x)}, x C.Show thath (x) is convex over
set C.
Since the intersection (any) of convex sets is a convex set, we can say:
h ( x )=max { f ( x ) , g ( x ) } EC (h)=f ( x )( x
Then, as well as each of the functions epigraphers f (x), g(x) is convex, their
intersection so too. Thus, EC (f ) is convex, so that f (x) is convex on C.
not.
[ ]
3 x 13 +2(x 1+ x2 )+2(x 1+ x 3 )
f (x)= 2 x1 +2 x 2
2 x1 +2 x3
[ ]
6 x1 + 4 2 2
2 f ( x)= 2 2 0 1=6 x +4 2=12 x
1 1 +4 3 =24 x 1
2 0 2
2
6 x 1+ 4> 0 ; x 1>
3
1
12 x 1 +4 >0 ; x 1>
3
24 x 1> 0 ; x 1> 0
3
Numerical Optimization Assignment #1 L. ARCE
Then the three conditions are true for x1>0 and the function f is convex if
x1>0.
xy 2
5. Determine if the function x+ 2 y +1 2ln over the set {(x,y) R2 |x > y
f (x , y )=
>1} is convex or not.
[ ]
2
2 x+ 4 y +2
f ( x)= x
2
4 x +8 y + 4
y
[ ]
2
2
+2 4
2 x
f ( x)=
2
4 +8
y2
2 4( x 2 + 4 y 2+ 1) 1
1= +2 2= >0 and
x2 ; x2 y 2 f is convex if
2 >0, then, f is convex when x, y 0 (is different zero).
2
x
6. Determine under what conditions the function f ( x , y )= is convex?
y
[]
2
y
2
f ( x)= x
2y
x
4
Numerical Optimization Assignment #1 L. ARCE
[ ]
2 y2 2 y
3 2
2 f ( x)= x x
2 y 2
x2 x
2 y2 2 y2
1= 3 >0 ; x Should be positive 2=0
x3 x
7. Suppose that xk and xk+1 are two consecutive points generated by the
steepest descent algorithm with exact line search. Show that
f ( xk ) T f ( xk +1 )=0
Consider the line search trough xk1 in the direction pk to give xk. The
condition for a minimum at k for the optimal descend, is
Where; F( k)=f (xk 1+ kPk )=min f (xk 1+pk )(k )=f (xk1+ kPk )
x y 4 +2 x 2+ y 2x+ 2 y
a. f =
2
x 1+ x 2x 3
2
x 1x 2+ x 3 +
b. 2
x 1+ x 2+ x 3 +
f =
4 4
d.
5
Numerical Optimization Assignment #1 L. ARCE
f( 14 -0.5 0 0.5
x 1+ x 2+ x 3 )
f( 237 0.5 2.5 0.2 0.8
x 1+ x 2+ x 3+ x 4
)
f( 376 4 3 1
x 1+ x 2+ x 3 )
CODE IN MATLAB
Exercise A
clear all
clc
numITE = 1000;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
syms l a
x = [l a];
f(x) = (l-a)^4 + 2*l^2 + a^2 -l + 2*a;
vari = x;
x0 = [0.1 1];
a0 = 1;
TAB = zeros(numITE, 5);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
df = jacobian(f, vari);
DF = eval(subs(df, vari, x0));
ERR = 10^(-6);
Xk = x0;
pk = -DF/norm(DF);
ak = findalpha(f, vari, Xk, pk, a0);
Xold = x0+1;
i = 0; % number of iterations
%% LOOP
while ((norm(Xk - Xold) > ERR) && (i < numITE))
i = i + 1;
6
Numerical Optimization Assignment #1 L. ARCE
Xold = Xk;
Xk = Xk + ak*pk
TAB(i,:) = [i Xk pk];
DF = eval(subs(df, vari, Xk));
pk = -DF/norm(DF);
ak = findalpha(f, vari, Xk, pk, a0);
end
for j = i+1:numITE
TAB(i+1,:) = [];
end
TAB
TAB =
Exercise B
clear all
clc
numITE = 1000;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
syms x1 x2 x3
x = [x1 x2 x3];
7
Numerical Optimization Assignment #1 L. ARCE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
df = jacobian(f, vari);
DF = eval(subs(df, vari, x0));
ERR = 10^(-6);
Xk = x0;
pk = -DF/norm(DF);
ak = findalpha(f, vari, Xk, pk, a0);
Xold = x0+1;
i = 0; % number of iterations
%% LOOP
while ((norm(Xk - Xold) > ERR) && (i < numITE))
i = i + 1;
Xold = Xk;
Xk = Xk + ak*pk
TAB(i,:) = [i Xk pk];
DF = eval(subs(df, vari, Xk));
pk = -DF/norm(DF);
ak = findalpha(f, vari, Xk, pk, a0);
end
for j = i+1:numITE
TAB(i+1,:) = [];
end
TAB
Exercise C
clear all
clc
numITE = 300 ;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Problem (b)
syms x1 x2 x3 x4
x = [x1, x2, x3, x4];
f(x) = x1 - 0.6*x2 + 4*x3 + 0.25*x4 - sum(log(x)) - log(5 - sum(x));
8
Numerical Optimization Assignment #1 L. ARCE
vari = x;
x0 = [1 1 0.1 1];
a0 = 1;
TAB = zeros(numITE, 9);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
df = jacobian(f, vari);
DF = eval(subs(df, vari, x0));
ERR = 10^(-6);
Xk = x0;
pk = -DF/norm(DF);
ak = findalpha(f, vari, Xk, pk, a0);
Xold = x0+1;
i = 0; % number of iterations
%% LOOP
while ((norm(Xk - Xold) > ERR) && (i < numITE))
i = i + 1;
Xold = Xk;
Xk = Xk + ak*pk
TAB(i,:) = [i Xk pk];
DF = eval(subs(df, vari, Xk));
pk = -DF/norm(DF);
ak = findalpha(f, vari, Xk, pk, ak);
end
for j = i+1:numITE
TAB(i+1,:) = [];
end
TAB
TAB =
9
Numerical Optimization Assignment #1 L. ARCE
10
Numerical Optimization Assignment #1 L. ARCE
11
Numerical Optimization Assignment #1 L. ARCE
12
Numerical Optimization Assignment #1 L. ARCE
13
Numerical Optimization Assignment #1 L. ARCE
14
Numerical Optimization Assignment #1 L. ARCE
15
Numerical Optimization Assignment #1 L. ARCE
16
Numerical Optimization Assignment #1 L. ARCE
Exercise D
syms x1 x2 x3
x = [x1; x2; x3];
H = [10 -18 2; -18 40 -1; 2 -1 3];
c = [12; -47; -8];
f(x) = simplify(0.5*(x.')*H*x + (c.')*x);
vari = (x.');
x0 = [0.1 0.1 1];
a0 = 1;
TAB = zeros(numITE, 7);
%
df = jacobian(f, vari);
DF = eval(subs(df, vari, x0));
ERR = 10^(-6);
17
Numerical Optimization Assignment #1 L. ARCE
Xk = x0;
pk = -DF/norm(DF);
ak = findalpha(f, vari, Xk, pk, a0);
Xold = x0+1;
i = 0; % number of iterations
%% LOOP
while ((norm(Xk - Xold) > ERR) && (i < numITE))
i = i + 1;
Xold = Xk;
Xk = Xk + ak*pk
TAB(i,:) = [i Xk pk];
DF = eval(subs(df, vari, Xk));
pk = -DF/norm(DF);
ak = findalpha(f, vari, Xk, pk, ak);
end
for j = i+1:numITE
TAB(i+1,:) = [];
end
TAB
TAB =
18
Numerical Optimization Assignment #1 L. ARCE
19
Numerical Optimization Assignment #1 L. ARCE
20
Numerical Optimization Assignment #1 L. ARCE
21
Numerical Optimization Assignment #1 L. ARCE
22
Numerical Optimization Assignment #1 L. ARCE
23
Numerical Optimization Assignment #1 L. ARCE
24
Numerical Optimization Assignment #1 L. ARCE
25
Numerical Optimization Assignment #1 L. ARCE
26
Numerical Optimization Assignment #1 L. ARCE
27
Numerical Optimization Assignment #1 L. ARCE
28
Numerical Optimization Assignment #1 L. ARCE
29
Numerical Optimization Assignment #1 L. ARCE
30
Numerical Optimization Assignment #1 L. ARCE
31
Numerical Optimization Assignment #1 L. ARCE
Exercise a.
% Script NEWTON METHOD
clear all
numITE = 1000;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Problem (a)
% ctrl + R to comment
% ctrl + T to uncomment
syms l a
x = [l a];
f(x) = (l-a)^4 + 2*l^2 + a^2 -l + 2*a;
VAR = x;
TAB = zeros(numITE, 5);
x0 = [0 1];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% BODY SCRIPT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
i = 0; % Counter: number of iterations:
ERR = 10^(-6); % error
Xk = x0';
df = gradient(f);
ddf = hessian(f);
GRAD = eval(subs(df, VAR, Xk.'));
HESS = eval(subs(ddf, VAR, Xk.'));
Pk = -pinv(HESS)*GRAD;
%% LOOP
while norm(GRAD) >= ERR
i = i + 1
Xk = Xk + Pk
GRAD = eval(subs(df, VAR, Xk.'));
HESS = eval(subs(ddf, VAR, Xk.'));
Pk = -pinv(HESS)*GRAD;
TAB(i,:)=[i Xk.' Pk.'];
if i == numITE
break;
end
clc
end
for j = i+1:numITE
TAB(i+1,:) = [];
32
Numerical Optimization Assignment #1 L. ARCE
end
TAB
%
% End script
TAB =
Exercise b.
clear all
numITE = 1000;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Problem (a)
% ctrl + R to comment
% ctrl + T to uncomment
syms x1 x2 x3
x = [x1; x2; x3];
f(x) = (x1 + x2 + x3)^2 + (x1 - x2 + x3)^2 + (-x1 + x2 - x3)^2;
VAR = x;
x0 = [1 1 1];
TAB = zeros(numITE, 7);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
i = 0; % Counter: number of iterations:
ERR = 10^(-6); % error
Xk = x0';
df = gradient(f);
ddf = hessian(f);
GRAD = eval(subs(df, VAR, Xk));
HESS = eval(subs(ddf, VAR, Xk));
Pk = -pinv(HESS)*GRAD;
%% LOOP
while norm(GRAD) >= ERR
i = i + 1
33
Numerical Optimization Assignment #1 L. ARCE
Xk = Xk + Pk
GRAD = eval(subs(df, VAR, Xk));
HESS = eval(subs(ddf, VAR, Xk));
Pk = -pinv(HESS)*GRAD;
TAB(i,:)=[i Xk.' Pk.'];
if i == numITE
break;
end
clc
end
for j = i+1:numITE
TAB(i+1,:) = [];
end
TAB
% End script
TAB =
Exercise c.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%
% Script NEWTON METHOD
%
clear all
numITE = 1000;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Problem (a)
% ctrl + R to comment
% ctrl + T to uncomment
syms x1 x2 x3 x4
x = [x1, x2, x3, x4];
f(x) = x1 - 0.6*x2 + 4*x3 + 0.25*x4 - sum(log(x)) - log(5 - sum(x));
VAR = x;
TAB = zeros(numITE, 9);
x0 = [1 1 0.1 1];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% BODY SCRIPT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
i = 0; % Counter: number of iterations:
ERR = 10^(-6); % error
Xk = x0;
34
Numerical Optimization Assignment #1 L. ARCE
df = gradient(f);
ddf = hessian(f);
GRAD = eval(subs(df, VAR, Xk));
HESS = eval(subs(ddf, VAR, Xk));
Pk = -pinv(HESS)*GRAD;
%% LOOP
while norm(GRAD) >= ERR
i = i + 1
Xk = Xk + Pk.'
GRAD = eval(subs(df, VAR, Xk));
HESS = eval(subs(ddf, VAR, Xk));
Pk = -pinv(HESS)*GRAD;
TAB(i,:)=[i Xk Pk.'];
if i == numITE
break;
end
clc
end
for j = i+1:numITE
TAB(i+1,:) = [];
end
TAB
%
% End script
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
TAB =
Exercise d.
% Script NEWTON METHOD
%
clear all
35
Numerical Optimization Assignment #1 L. ARCE
numITE = 1000;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Problem (a)
% ctrl + R to comment
% ctrl + T to uncomment
syms x1 x2 x3
x = [x1; x2; x3];
H = [10 -18 2; -18 40 -1; 2 -1 3];
c = [12; -47; -8];
f(x) = simplify(0.5*(x.')*H*x + (c.')*x);
VAR = x.';
TAB = zeros(numITE, 7);
x0 = [0.1 0.1 1];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% BODY SCRIPT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
i = 0; % Counter: number of iterations:
ERR = 10^(-6); % error
Xk = x0;
df = gradient(f);
ddf = hessian(f);
GRAD = eval(subs(df, VAR, Xk));
HESS = eval(subs(ddf, VAR, Xk));
Pk = -pinv(HESS)*GRAD;
%% LOOP
while norm(GRAD) >= ERR
i = i + 1
Xk = Xk + Pk.'
GRAD = eval(subs(df, VAR, Xk));
HESS = eval(subs(ddf, VAR, Xk));
Pk = -pinv(HESS)*GRAD;
TAB(i,:)=[i Xk Pk.'];
if i == numITE
break;
end
clc
end
for j = i+1:numITE
TAB(i+1,:) = [];
end
TAB
%
% End script
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
TAB =
36
Numerical Optimization Assignment #1 L. ARCE
10. Solve from your text: 2.1, 2.3, 2.6, 2.9, 2.16, 3.6
[ ]
2
f ( x)= 400 x 1 ( x 2x 12 ) +2(1+ x 1)
(x 2x 1 )200
[ ]
2
2 f ( x)= 400 ( x 23 x 1 ) + 2 x 1 4 00
x 1 4 00 200
Now evaluating
x= 0[]
0
1
; x*=( 1 ) ; only this solution for f ( x)=0
f
[
x= 802 400
400 200 ]
2 f
37
Numerical Optimization Assignment #1 L. ARCE
df 1
dx
dx n
[ ]
df 1 = an
a1
= a
f (x)=
d2 f 1
dx 12
2
d f1
dx 2 dx 1
[ ]
2
d i
aixi
= =0 ; where , s=1 t=1 n
dxsdxt
2
f ( x)=
And
38
Numerical Optimization Assignment #1 L. ARCE
39
Numerical Optimization Assignment #1 L. ARCE
For k odd:
then
for k I have
40
Numerical Optimization Assignment #1 L. ARCE
41