N = 8;
gpvar w(N) h(N);
wmin = .1; wmax = 100;
hmin = .1; hmax = 6;
Smin = 1/5; Smax = 5;
sigma_max = 1;
ymax = 10;
E = 1; F = 1;
obj = w'*h;
v = posynomial; y = posynomial;
v(N+1,1) = 0; y(N+1,1) = 0;
for i = N:-1:1
disp(['Processing recursion number: ' num2str(i)])
v(i) = 12*(i-1/2)*F/(E*w(i)*h(i)^3) + v(i+1);
y(i) = 6*(i-1/3)*F/(E*w(i)*h(i)^3) + v(i+1) + y(i+1);
end
constr = [ ...
wmin*ones(N,1) <= w; w <= wmax*ones(N,1);
hmin*ones(N,1) <= h; h <= hmax*ones(N,1);
Smin*ones(N,1) <= h./w; h./w <= Smax*ones(N,1);
6*F*[1:N]'./(w.*(h.^2)) <= sigma_max*ones(N,1);
y(1) <= ymax;
];
[obj_value, solution, status] = gpsolve(obj, constr);
assign(solution);
disp('The optimal widths and heights are: ');
w, h
fprintf(1,'The optimal minimum volume of the beam is %3.4f\n', sum(w.*h))
close all;
plot_cbeam([h; w])
Processing recursion number: 8
Processing recursion number: 7
Processing recursion number: 6
Processing recursion number: 5
Processing recursion number: 4
Processing recursion number: 3
Processing recursion number: 2
Processing recursion number: 1
Iteration primal obj. gap dual residual previous step.
1 6.32203e+00 8.90000e+01 8.11e+01 Inf
2 8.78270e+00 3.68726e+01 1.31e+00 8.71837e-01
3 8.30332e+00 2.43097e+01 1.71e-01 6.39833e-01
4 6.65830e+00 1.65548e+01 2.28e-02 6.33721e-01
5 3.58991e+00 8.42655e+00 4.12e-05 1.00000e+00
6 9.85278e-01 4.21177e+00 2.46e-06 1.00000e+00
7 -8.50599e-02 2.10590e+00 1.02e-06 1.00000e+00
Iteration primal obj. gap dual residual previous step.
1 5.41567e+00 8.90000e+01 7.55e-02 Inf
2 5.37503e+00 4.44898e+01 1.09e-04 1.00000e+00
3 5.28128e+00 2.22449e+01 1.11e-05 1.00000e+00
4 5.10038e+00 1.11225e+01 2.97e-06 1.00000e+00
5 4.79906e+00 5.56139e+00 6.92e-07 1.00000e+00
6 4.40500e+00 2.78098e+00 1.21e-06 1.00000e+00
7 4.05822e+00 1.39117e+00 7.54e-07 1.00000e+00
8 3.87590e+00 6.96796e-01 7.89e-08 1.00000e+00
9 3.80110e+00 3.48948e-01 5.22e-07 1.00000e+00
10 3.77203e+00 1.74696e-01 7.80e-07 1.00000e+00
11 3.75986e+00 8.74931e-02 7.82e-07 1.00000e+00
12 3.75343e+00 4.38768e-02 1.85e-07 1.00000e+00
13 3.75026e+00 2.20076e-02 2.15e-08 1.00000e+00
14 3.74869e+00 1.10345e-02 2.79e-09 1.00000e+00
15 3.74788e+00 5.52969e-03 3.95e-10 1.00000e+00
16 3.74747e+00 2.76925e-03 5.04e-11 1.00000e+00
17 3.74727e+00 1.38599e-03 4.95e-12 1.00000e+00
18 3.74717e+00 6.93370e-04 3.81e-13 1.00000e+00
19 3.74712e+00 3.46781e-04 2.53e-14 1.00000e+00
20 3.74709e+00 1.73415e-04 1.60e-15 1.00000e+00
21 3.74708e+00 8.67135e-05 1.01e-16 1.00000e+00
22 3.74707e+00 4.33583e-05 6.29e-18 1.00000e+00
23 3.74707e+00 2.16795e-05 3.94e-19 1.00000e+00
24 3.74707e+00 1.08398e-05 2.46e-20 1.00000e+00
25 3.74707e+00 5.41995e-06 1.54e-21 1.00000e+00
26 3.74707e+00 2.70998e-06 9.61e-23 1.00000e+00
27 3.74707e+00 1.35499e-06 6.01e-24 1.00000e+00
28 3.74707e+00 6.77496e-07 3.75e-25 1.00000e+00
29 3.74707e+00 3.38748e-07 2.36e-26 1.00000e+00
30 3.74707e+00 1.69374e-07 1.49e-27 1.00000e+00
31 3.74707e+00 8.46870e-08 9.28e-29 1.00000e+00
32 3.74707e+00 4.23435e-08 6.37e-30 1.00000e+00
33 3.74707e+00 2.11718e-08 1.90e-30 1.00000e+00
34 3.74707e+00 1.05859e-08 8.96e-31 1.00000e+00
35 3.74707e+00 5.29294e-09 4.31e-31 1.00000e+00
Solved
Problem succesfully solved.
The optimal widths and heights are:
w =
0.6214
0.7830
0.9060
1.0124
1.1004
1.1762
1.2000
1.3333
h =
3.1072
3.9149
4.5298
5.0620
5.5019
5.8812
6.0000
6.0000
The optimal minimum volume of the beam is 42.3965