
如何用matlab代码实现图中这个优化模型?分析题主给出的优化问题属于求最大值的极值最优化问题。
该问题一般可以用fmincon函数来求解,也可以用ga遗传算法等函数来求解。
如用fmincon函数来求解,可以按下列思路进行:
一、利用三循环语句,创建目标函数, fmincon_fun(k),其主要内容为
y1=0;
for i=1:n
for j=1:n
for k=1:m
y1=y1+y(i,j,k)/(n^2m)
end
end
end
phi=-y1;
二、利用二循环语句和三循环语句,创建约束条件函数,fmincon_con(k),其主要内容为
条件2:
for i=1:n
for j=1:n
ceq(i+j)=1-(A(i,j)-A(j,i));
end
end
条件3:
for i1=1:n
for j1=1:n
for k1=1:m
ceq(i+j+k+i1+j1+k1)=x(i,j,k)-(A(i,j)-B(i,j)^k)
end
end
end
条件4:
for i=1:n
for j=1:n
for k=1:m
c(i+j+k)=x(i,j,k)-y(i,j,k)
end
end
end
条件5:
for i1=1:n
for j1=1:n
for k1=1:m
c(i+j+k+i1+j1+k1)=-x(i,j,k)-y(i,j,k)
end
end
end
三、确定未知变量的初值k0=[。。。]
四、确定未知变量的上限值lb=[。。。]和下限值ub=[。。。]
五、使用fmincon函数,求其最大优化值,其使用方法
[k,fval,exitflag] = fmincon(@(k) fmincon_fun(k),k0,[],[],[],[],lb,ub,@(k) fmincon_con(k))
k——未知变量,fval——最大值,exitflag——求解标志
以上就是关于求大神用代码实现一下这个优化模型,lingo跟matlab都可以全部的内容,包括:求大神用代码实现一下这个优化模型,lingo跟matlab都可以、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)