24小时热门版块排行榜    

Znn3bq.jpeg
查看: 806  |  回复: 8
当前主题已经存档。

jlzeng

木虫 (正式写手)

[交流] 请帮我看一段matlab程序

问题:
Min  10X2+10X3+40
Sub. to  1≤X1≤4
1≤X2≤4
1≤X3≤4
1≤X4≤4
-(6.9402131+0.252469*x(1)-0.276517*x(2)+0.207394*x(3)+0.314560*x(4)+0.039335*x(1)*x(1)+0.039335*x(2)*x(2)-0.003563*x(3)*x(3)-0.006647*x(4)*x(4)-0.006296*x(1)*x(2)-0.034093*x(1)*x(3)-0.059668*x(1)*x(4)+0.010462*x(2)*x(3)+0.005134*x(2)*x(4)-0.008807*x(3)*x(4))+8.62≤0
6.9402131+0.252469*x(1)-0.276517*x(2)+0.207394*x(3)+0.314560*x(4)+0.039335*x(1)*x(1)+0.039335*x(2)*x(2)-0.003563*x(3)*x(3)-0.006647*x(4)*x(4)-0.006296*x(1)*x(2)-0.034093*x(1)*x(3)-0.059668*x(1)*x(4)+0.010462*x(2)*x(3)+0.005134*x(2)*x(4)-0.008807*x(3)*x(4)-9.17≤0
0.6730551+0.301146*x(1)-0.078675*x(2)+0.011658*x(3)+0.178452*x(4)+0.009664*x(1)*x(1)+0.009664*x(2)*x(2)+0.001284*x(3)*x(3)-0.002713*x(4)*x(4)-0.012422*x(1)*x(2)-0.023157*x(1)*x(3)-0.036011*x(1)*x(4)+0.024744*x(2)*x(3)-0.020623*x(2)*x(4)-0.002149*x(3)*x(4)-1.5≤0
-(0.6730551+0.301146*x(1)-0.078675*x(2)+0.011658*x(3)+0.178452*x(4)+0.009664*x(1)*x(1)+0.009664*x(2)*x(2)+0.001284*x(3)*x(3)-0.002713*x(4)*x(4)-0.012422*x(1)*x(2)-0.023157*x(1)*x(3)-0.036011*x(1)*x(4)+0.024744*x(2)*x(3)-0.020623*x(2)*x(4)-0.002149*x(3)*x(4)) ≤0
-(51.8277931+6.142814*x(1)+1.235285*x(2)-1.799889*x(3)+4.118358*x(4)-0.434893*x(1)*x(1)-0.434893*x(2)*x(2)+0.033447*x(3)*x(3)+0.076468*x(4)*x(4)-0.201259*x(1)*x(2)-0.652022*x(1)*x(3)+0.820377*x(1)*x(4)+1.839250*x(2)*x(3)-1.451273*x(2)*x(4)-0.023900*x(3)*x(4))+95≤0
51.8277931+6.142814*x(1)+1.235285*x(2)-1.799889*x(3)+4.118358*x(4)-0.434893*x(1)*x(1)-0.434893*x(2)*x(2)+0.033447*x(3)*x(3)+0.076468*x(4)*x(4)-0.201259*x(1)*x(2)-0.652022*x(1)*x(3)+0.820377*x(1)*x(4)+1.839250*x(2)*x(3)-1.451273*x(2)*x(4)-0.023900*x(3)*x(4)-100≤0

我的程序如下:
m文件
function [c,ceq]=mycon(x)
c=[-(6.9402131+0.252469*x(1)-0.276517*x(2)+0.207394*x(3)+0.314560*x(4)+0.039335*x(1)*x(1)+0.039335*x(2)*x(2)-0.003563*x(3)*x(3)-0.006647*x(4)*x(4)-0.006296*x(1)*x(2)-0.034093*x(1)*x(3)-0.059668*x(1)*x(4)+0.010462*x(2)*x(3)+0.005134*x(2)*x(4)-0.008807*x(3)*x(4))+8.62;
    6.9402131+0.252469*x(1)-0.276517*x(2)+0.207394*x(3)+0.314560*x(4)+0.039335*x(1)*x(1)+0.039335*x(2)*x(2)-0.003563*x(3)*x(3)-0.006647*x(4)*x(4)-0.006296*x(1)*x(2)-0.034093*x(1)*x(3)-0.059668*x(1)*x(4)+0.010462*x(2)*x(3)+0.005134*x(2)*x(4)-0.008807*x(3)*x(4)-9.17;
    0.6730551+0.301146*x(1)-0.078675*x(2)+0.011658*x(3)+0.178452*x(4)+0.009664*x(1)*x(1)+0.009664*x(2)*x(2)+0.001284*x(3)*x(3)-0.002713*x(4)*x(4)-0.012422*x(1)*x(2)-0.023157*x(1)*x(3)-0.036011*x(1)*x(4)+0.024744*x(2)*x(3)-0.020623*x(2)*x(4)-0.002149*x(3)*x(4)-1.5;
    -(0.6730551+0.301146*x(1)-0.078675*x(2)+0.011658*x(3)+0.178452*x(4)+0.009664*x(1)*x(1)+0.009664*x(2)*x(2)+0.001284*x(3)*x(3)-0.002713*x(4)*x(4)-0.012422*x(1)*x(2)-0.023157*x(1)*x(3)-0.036011*x(1)*x(4)+0.024744*x(2)*x(3)-0.020623*x(2)*x(4)-0.002149*x(3)*x(4));
    -(51.8277931+6.142814*x(1)+1.235285*x(2)-1.799889*x(3)+4.118358*x(4)-0.434893*x(1)*x(1)-0.434893*x(2)*x(2)+0.033447*x(3)*x(3)+0.076468*x(4)*x(4)-0.201259*x(1)*x(2)-0.652022*x(1)*x(3)+0.820377*x(1)*x(4)+1.839250*x(2)*x(3)-1.451273*x(2)*x(4)-0.023900*x(3)*x(4))+95;
    51.8277931+6.142814*x(1)+1.235285*x(2)-1.799889*x(3)+4.118358*x(4)-0.434893*x(1)*x(1)-0.434893*x(2)*x(2)+0.033447*x(3)*x(3)+0.076468*x(4)*x(4)-0.201259*x(1)*x(2)-0.652022*x(1)*x(3)+0.820377*x(1)*x(4)+1.839250*x(2)*x(3)-1.451273*x(2)*x(4)-0.023900*x(3)*x(4)-100];
ceq=[];

主程序:
>> fun='x(1)*0+x(2)*10+10+x(3)*10+30+x(4)*0';
>> x0=[1 1 1 1];
>> A=[];
>> b=[];
>> Aeq=[];
>> beq=[];
>> lb=[1 1 1 1];
>> ub=[4 4 4 4];
>> [x,fval,exitflag,output,lambda,grad,hessian]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,@mycon)


运行结果:
Warning: Large-scale (trust region) method does not currently solve this type of problem,
switching to medium-scale (line search).
> In fmincon at 260
Maximum number of function evaluations exceeded;
increase OPTIONS.MaxFunEvals.

x =

    4.2343    3.1404    4.3459    4.3459


fval =

  114.8638


exitflag =

     0


output =

       iterations: 66
        funcCount: 401
         stepsize: 1
        algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
    firstorderopt: 10.0000
     cgiterations: []
          message: [1x79 char]


lambda =

         lower: [4x1 double]
         upper: [4x1 double]
         eqlin: [0x1 double]
      eqnonlin: [0x1 double]
       ineqlin: [0x1 double]
    ineqnonlin: [6x1 double]


grad =

         0
   10.0000
   10.0000
         0


hessian =

    0.5552    0.1233    0.0784   -0.4841
    0.1233    0.0670    0.0061   -0.1023
    0.0784    0.0061    0.0198   -0.0586
   -0.4841   -0.1023   -0.0586    0.4462

请问是什么原因出错了?谢谢
回复此楼
沉默坚守
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cuihang

铁杆木虫 (正式写手)

VASPer

★ ★
spur(金币+2,VIP+0):感谢参与!
提示说你选用的算法规模太大不适合这个问题,建议换成较小的线性搜索
只是个警告,其实不必理会它

[ Last edited by cuihang on 2008-3-31 at 10:05 ]
聪明人知道自己是傻子,傻子以为自己是聪明人
2楼2008-03-31 10:04:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jlzeng

木虫 (正式写手)

那是不是要换其他函数啊?
用哪个比较好呢?
沉默坚守
3楼2008-03-31 10:06:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

y1ding

铁杆木虫 (著名写手)

★ ★ ★
spur(金币+3,VIP+0):感谢应助!欢迎常来!!
Maximum number of function evaluations exceeded;
increase OPTIONS.MaxFunEvals.
___________________________
看英文,加大OPTIONS.MaxFunEvals

Warning: Large-scale (trust region) method does not currently solve this type of problem,
switching to medium-scale (line search).
提示说你选用的算法规模太大不适合这个问题,已经自动换成较小的线性搜索

exitflag =

     0
这个是不成功的意思
4楼2008-03-31 11:04:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

y1ding

铁杆木虫 (著名写手)


lei0736(金币+1,VIP+0):谢谢
多看help
英文说明已经很明确了
5楼2008-03-31 11:04:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

y1ding

铁杆木虫 (著名写手)

★ ★ ★
csfn(金币+3,VIP+0):thanks
引用回帖:
Originally posted by cuihang at 2008-3-31 10:04:
提示说你选用的算法规模太大不适合这个问题,建议换成较小的线性搜索
只是个警告,其实不必理会它

[ Last edited by cuihang on 2008-3-31 at 10:05 ]

output =

       iterations: 66
        funcCount: 401
         stepsize: 1
        algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
    firstorderopt: 10.0000
     cgiterations: []
          message: [1x79 char]

已经换成        algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'

英文说明了
6楼2008-03-31 11:05:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jlzeng

木虫 (正式写手)

csfn(金币+0,VIP+0):可以到此帖交流:http://emuch.net/bbs/viewthread.php?tid=759829&fpage=1
高手能否将我的程序进行适当修改?
我没学过matlab,很多东西都不明白:)
沉默坚守
7楼2008-03-31 11:59:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jlzeng

木虫 (正式写手)

关键是它给出的值超出了我的范围!
1≤X1≤4
1≤X2≤4
1≤X3≤4
1≤X4≤4
但是它给出的值为
x =    4.2343    3.1404    4.3459    4.3459
X1、X3、X4值均超过4了,怎么会事?
沉默坚守
8楼2008-03-31 12:26:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jlzeng

木虫 (正式写手)

谢谢各位提示!
已经搞定了:)
沉默坚守
9楼2008-04-01 11:04:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jlzeng 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 评审有感 +15 popular289 2026-05-18 24/1200 2026-05-21 06:04 by dandongli
[考博] 云南大学材料与能源学院解琳课题组钙钛矿博士招生 +4 光伏爱好者 2026-05-17 6/300 2026-05-21 01:37 by 17520222914
[有机交流] 反应很差,大量原料没有反应 5+3 Mr.Zot 2026-05-19 8/400 2026-05-20 22:19 by Equinoxhua
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +11 1234567wang 2026-05-17 13/650 2026-05-20 18:55 by tanfancy
[基金申请] 提交了我也来说说感想 +6 fummck 2026-05-20 6/300 2026-05-20 17:29 by 姜太公烤鱼
[论文投稿] Sci. Bull. 悲剧经验 +6 jyang1999 2026-05-16 7/350 2026-05-20 16:39 by feng6531
[基金申请] 国自然评分 +3 无名者登山 2026-05-20 4/200 2026-05-20 13:29 by vito刘
[有机交流] 如何实现卤原子转化 +3 BT20230424 2026-05-15 8/400 2026-05-20 09:32 by xtlilibin
[基金申请] 河北省自然科学基金 +3 Peterchao 2026-05-18 3/150 2026-05-20 08:57 by 霸_霸
[教师之家] 上海大学实验技术岗位非升即走 +12 嘻嘻哈哈乐呵呵 2026-05-15 13/650 2026-05-20 08:34 by xli1984
[文学芳草园] 献血感触 +6 呀呀好傻 2026-05-19 11/550 2026-05-19 22:26 by 而立得乐
[基金申请] 2026山东省优青 +3 luckinging 2026-05-14 4/200 2026-05-19 16:15 by 52wls
[考博] 找博士生导师 +6 小代想上岸 2026-05-15 7/350 2026-05-19 10:22 by free_fisher
[考博] 26/27申博自荐-锂/钠电池方向 5+3 狗头军师. 2026-05-15 4/200 2026-05-19 09:10 by moonboat
[基金申请] 同样的基金本子,换个专家直接从C变A! (金币-10) +3 国自然国社科中 2026-05-19 3/150 2026-05-19 08:50 by Equinoxhua
[基金申请] 别被青基扩招骗了!26年科研内卷才刚刚开始 +3 国自然国社科中 2026-05-14 4/200 2026-05-19 08:48 by archvillain
[考博] 2026博士还有哪些学校有名额 +7 小王求读研 2026-05-15 8/400 2026-05-19 08:27 by zhyzzh
[文学芳草园] 半夜喝咖啡 +3 myrtle 2026-05-15 5/250 2026-05-18 01:03 by 小沈2018
[考博] 光量子物理方向 博士招生 1人(2026.09) +3 sandyworld 2026-05-15 4/200 2026-05-17 14:38 by sandyworld
[有机交流] 求助2,4-二氯-5-嘧啶甲醛的合成方法 20+3 光吃不拉 2026-05-14 6/300 2026-05-16 19:46 by Equinoxhua
信息提示
请填处理意见