matlab中求解线性规划最优解的问题 20

例如:F(a,b)=|0.3a+0.57b|+|0.23b-0.376b|,其中a+b=1求函数F(a,b)取最小值时a,b的值,怎样用matlab计算求解,求各位大侠指... 例如:F(a,b)=|0.3a+0.57b|+|0.23b-0.376b|,其中a+b=1
求函数F(a,b)取最小值时a,b的值,
怎样用matlab计算求解,求各位大侠指导!!
F(a,b)=|0.3a+0.57b|+|0.23a-0.376b|,其中a+b=1

a>=0;b>=0
展开
 我来答
雨扬振1238
2013-07-24 · TA获得超过2782个赞
知道小有建树答主
回答量:586
采纳率:100%
帮助的人:978万
展开全部
用这个程序:
clear all;clc
F=@(a)abs(0.3*a+0.57*(1-a))+abs(0.23*a-0.376*(1-a));
[a,fval,exitflag]=fminbnd(F,0,1e+7);
a
b=1-a
fval

运行后可见结果。这里用0<=a<=10的7次方来替代a>=0,因为a需要有个上界。但是增加这个上界不改变收敛的结果,所以这个上界并不影响最优解的取值。
更多追问追答
追问
a+b=1

a>=0;b>=0

说明a的上限为1,b也是如此
其中exitflag=1,说明了什么?
追答
恩,我没考虑到,a的上限应该改成1。
exitflag=1表示这个函数最值在0<=a<=1中是唯一的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勤学苦练出真知
2013-07-17 · TA获得超过277个赞
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:177万
展开全部
首先把约束条件去掉,则原方程转换为F(b)=|0.3+0.27b|+|0.23-0.606b|,然后用solve函数解得b的值,那么a的值也就显然了
追问
能给个具体的程序吗?matlab不怎么会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式