优化等号分布

时间:2018-10-10 21:33:35

标签: matlab loops optimization

示例:我想最大化xy

lb = lowerbound
ub = upperbound
a = lb(0) ub(100) 
b = lb(0) ub(50) 
x == a+b 
y == a+b

关于这一点的特别之处在于,我需要分发优化。说明:x和y是需要能量的房屋。他们从存储库a和b中获取能量。因此,如果x从a取30,从b取20,则a仍然有70,b仍然有30,但是应该相等。

我想要的解决方案是x = 50 + 25y = 50 + 25,它们将平均分配。我将如何用代码表达这一点?

我想到的示例代码,但在这种情况下不起作用:

xyprob = optimproblem;

a = optimvar('a','LowerBound',0,'UpperBound',100);
b = optimvar('b','LowerBound',0,'UpperBound',50);

y = optimvar('y');
x = optimvar('x');

xyprob.ObjectiveSense = 'maximize';

xyprob.Objective = x
xyprob.Objective = y

xyprob.Constraints.econs1 = x == a+b
xyprob.Constraints.econs2 = y == a+b

[xysol,fval] = solve(xyprob);
tbl = struct2table(xysol)

0 个答案:

没有答案