How can I solve this Min Opt with 9 decision variables, which are again in the form of matrices
1 回表示 (過去 30 日間)
古いコメントを表示
Hi, I am very new to Matlab and I have the following question, but first the code:
x1 = sym('x1',[NA,NB]); % [ 0 , inf ]
x2 = sym('x2',[NA,NB]); % [ 0 , inf ]
x3 = sym('x3',[NA,NB]); % [ 0 , inf ]
x4 = sym('x4',[NA,NB]); % [ -inf , inf ]
%---
for i = 1:NA
for ii = 1:NB
C1(i,ii) = beqC1(i,ii) == x8(i,ii) + x7(i,ii) + x9(i,ii) + x2(i,ii);
C2(i,ii) = beqC2(i,ii) == x8(i,ii) + x3(i,ii) + x6(i,ii);
end
end
%---
[Aeq,beq] = equationsToMatrix([C1, C2], [x1, x2, x3, x4]);
f = sum(x5(:));
[x,costopt,exitflag,output] = intlinprog(f,[],[],[],Aeq,beq,[],[],[]);
Since I am a total beginner using Matlab, my question will be quite easy: How can I make this optimization problem work, so that it is in line with the following mathematical problem?
Since I already searched in the forum and on the web for solutions, without finding THE RIGHT guideline I would be more than happy to have expert help to code this problem. :)
Thank you!
1 件のコメント
Alan Weiss
2017 年 11 月 6 日
And your question is what?
Alan Weiss
MATLAB mathematical toolbox documentation
採用された回答
Alan Weiss
2017 年 11 月 6 日
I think that you are doing very well for a novice. You can continue in two different ways, at least.
1. As you have been doing, but realize that you need to convert your problem from symbolic variables to standard MATLAB doubles.
Aeqf = double(Aeq);
beqf = double(beq);
ff = zeros(size(Aeq,2),1);
f = sum(x5(:)) % just to see the relevant variables
ff(51:54) = 1;
intcon = 1:length(f);
lb = zeros(length(ff),1);
lb(3*12+1:4*12+4) = -Inf;
[x,costopt,exitflag,output] = intlinprog(ff,intcon,[],[],Aeqf,beqf,lb);
This didn't quite work for me when I tried it; perhaps something is still missing from the bounds, because the error message that came back was "Intlinprog stopped because the root LP problem is unbounded."
2. If you have R2017b, try the new Problem-Based Optimization approach. Instead of using symbolic variables, use optimization variables to formulate and solve your problem.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Surrogate Optimization についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!