Rev | Line | |
---|
[37] | 1 | function test_gp_gpposyminpfnorm |
---|
| 2 | |
---|
| 3 | sdpvar lambda b(4,1) s(3,1) v(4,1) c(2,1) |
---|
| 4 | |
---|
| 5 | % constants |
---|
| 6 | c_nom = [1 1]'; |
---|
| 7 | b_nom = [2 3 2 1]'; |
---|
| 8 | alpha = [1 1 1 1]'; beta = [1 1 1 1]'; |
---|
| 9 | s_nom = [1 1 3]'; |
---|
| 10 | gamma = [1 1 1]'; delta = [1 1 1]'; |
---|
| 11 | |
---|
| 12 | % objective |
---|
| 13 | obj = lambda; |
---|
| 14 | |
---|
| 15 | % constraints |
---|
| 16 | constr = [... |
---|
| 17 | % inequalities |
---|
| 18 | b'*v <= lambda*v(1); |
---|
| 19 | s(1)*v(1) <= lambda*v(2); |
---|
| 20 | s(2)*v(2) <= lambda*v(3); |
---|
| 21 | s(3)*v(3) <= lambda*v(4); |
---|
| 22 | [0.5; 0.5] <= c; c <= [2; 2]; |
---|
| 23 | % equalities |
---|
| 24 | b == b_nom.*((ones(4,1)*(c(1)/c_nom(1))).^alpha).*... |
---|
| 25 | ((ones(4,1)*(c(2)/c_nom(2))).^beta); |
---|
| 26 | s == s_nom.*((ones(3,1)*(c(1)/c_nom(1))).^gamma).*... |
---|
| 27 | ((ones(3,1)*(c(2)/c_nom(2))).^delta); |
---|
| 28 | ]; |
---|
| 29 | |
---|
| 30 | % find the optimal eigenvalue |
---|
| 31 | sol = solvesdp(constr,obj,sdpsettings('solver','mosek,gpposy,fmincon-geometric')); |
---|
| 32 | |
---|
| 33 | mbg_asserttolequal(sol.problem,0); |
---|
| 34 | mbg_asserttolequal(double(obj), 0.80406738656616,1e-5); |
---|
Note: See
TracBrowser
for help on using the repository browser.