Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2007-12-04, 23:20   #1
irene33
初级会员
 
注册日期: 2007-12-04
帖子: 1
声望力: 0
irene33 正向着好的方向发展
默认 [求助]求助线性编程问题

r1,r2是这样的变量
r1<min(x1*a1,x2*a2,x1*a3+x2*a4+x1*a5+x2*a6)
r2<min(x1*b1,x2*b2,x1*b3+x2*b4+x1*b5+x2*b6)
r1>=0;r2>=0;
其中x1,x2满足 x1+x2=1
a1,a2,a3,a4,a5,a6,b1,b2,b3,b4,b5,b6是常数

问题1:想画出r1,r2关系的曲线。使r1从0开始递增取值,如r1=0,0.1,0.2,……。分别求对于每个固定的r1,求r2最大可能值。
问题2:论文上说可以用linprog,具体怎么用?

谢谢大虾解答!
irene33 当前离线   回复时引用此帖
旧 2007-12-20, 22:32   #2
elunxu
普通会员
 
注册日期: 2007-12-02
年龄: 44
帖子: 74
声望力: 19
elunxu 正向着好的方向发展
默认

书上转载的。

函数 linprog
格式 x = linprog(f,A,b) %求min f ' *x sub.to 线性规划的最优解。
x = linprog(f,A,b,Aeq,beq) %等式约束 ,若没有不等式约束 ,则A=[ ],b=[ ]。
x = linprog(f,A,b,Aeq,beq,lb,ub) %指定x的范围 ,若没有等式约束 ,则Aeq=[ ],beq=[ ]
x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %设置初值x0
x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) % options为指定的优化参数
[x,fval] = linprog(…) % 返回目标函数最优值,即fval= f ' *x。
[x,lambda,exitflag] = linprog(…) % lambda为解x的Lagrange乘子。
[x, lambda,fval,exitflag] = linprog(…) % exitflag为终止迭代的错误条件。
[x,fval, lambda,exitflag,output] = linprog(…) % output为关于优化的一些信息
说明 若exitflag>0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大数字,exitflag<0表示函数不收敛于解x;若lambda=lower 表示下界lb,lambda=upper表示上界ub,lambda=ineqlin表示不等式约束,lambda=eqlin表示等式约束,lambda中的非0元素表示对应的约束是有效约束;output=iterations表示迭代次数,output=algorithm表示使用的运算规则,output=cgiterations表示PCG迭代次数。
例:
>>f = [-5; -4; -6];
>>A = [1 -1 1;3 2 4;3 2 0];
>>b = [20; 42; 30];
>>lb = zeros(3,1);
>>[x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb)
结果为:
x = %最优解
0.0000
15.0000
3.0000
fval = %最优值
-78.0000
exitflag = %收敛
1
output =
iterations: 6 %迭代次数
cgiterations: 0
algorithm: 'lipsol' %所使用规则
lambda =
ineqlin: [3x1 double]
eqlin: [0x1 double]
upper: [3x1 double]
lower: [3x1 double]
>> lambda.ineqlin
ans =
0.0000
1.5000
0.5000
>> lambda.lower
ans =
1.0000
0.0000
0.0000
表明:不等约束条件2和3以及第1个下界是有效的
elunxu 当前离线   回复时引用此帖
旧 2008-04-10, 21:46   #3
skycitywu
初级会员
 
注册日期: 2008-04-09
年龄: 37
帖子: 10
声望力: 18
skycitywu 正向着好的方向发展
默认

谢谢版主 只是有些地方还不是太懂
linprog命令中的各个参数的含义不是很清楚 那个例子的要求是怎样的 具体是什么样的线性规划问题呢?
呵呵 我是新手~
skycitywu 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[求助]怎么使正在运行的程序中断 tpwxhfh MATLAB论坛 2 2009-03-20 11:19
[求助]一个GUI的问题,制作的界面怎样定位在屏幕中间? wwww1031 MATLAB论坛 8 2008-08-28 22:52
[资料]周期信号的傅里叶级数实验代码!!! zdJack0305 MATLAB论坛 2 2008-08-05 10:53
[求助]matlab绘图 wzbin0531 MATLAB论坛 0 2008-04-24 20:27
【求助】变量没定义 ,急!!! luoyunyong MATLAB论坛 1 2007-06-14 00:01


所有时间均为北京时间。现在的时间是 11:11


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.