I am looking for code, that is inverse of optimization. Have variable combinations (and plot them) that gives response value in a boundary.
7 ビュー (過去 30 日間)
古いコメントを表示
Biswanath Mahanty
2018 年 7 月 25 日
コメント済み: Walter Roberson
2018 年 7 月 29 日
For example
Y=3a+2b+5c-6a^2+7b^2
...is model. I want to have a, b, c combinations values that result in Y within -2 & +2. In addition, the subset of a, b, c must be in a given boundary i.e. -3<a<2, 4<b<7, 9<c<18 etc.
2 件のコメント
Walter Roberson
2018 年 7 月 25 日
Is the question to determine all such values? There would be an indefinite number of such values if you permit floating point.
採用された回答
Walter Roberson
2018 年 7 月 26 日
Y = 200; %for example
N = 50;
av = linspace(-3,2,N);
bv = linspace(4,7,N);
cv = linspace(9,18,N);
[a,b,c] = ndgrid(av,bv,cv);
dy = 3*a + 2*b + 5*c - 6*a.^2 + 7*b.^2 - Y;
mask = dy > -2 & dy < 2;
scatter3(a(mask), b(mask), c(mask))
2 件のコメント
Walter Roberson
2018 年 7 月 29 日
You should not generate a surface plot for this: because you want Y within -2 & +2, you are defining a thickness with potentially multiple points instead of a surface.
その他の回答 (1 件)
Alan Weiss
2018 年 7 月 25 日
You might be able to formulate this as an optimization problem. Your decision variables are a, b, c. The objective (the thing to minimize) is the sum of the squares (or absolute values) of the infeasibilities: max(Y,2) - 2 and abs(min(-2,Y) + 2).
To use Optimization Toolbox, formulate your problem in terms of one variable x = [a,b,c]. Then use the fmincon solver or the lsqnonlin solver. You can include bounds on the variables using the lb and ub arguments.
Alan Weiss
MATLAB mathematical toolbox documentation
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!