24小时热门版块排行榜    

查看: 1782  |  回复: 4

qinzhen724

新虫 (小有名气)

[求助] Matlab中用fmincon求解最小值问题,调试了好多次,一直找不到可行解,求大神指导 已有2人参与

用fmincon求解最小值问题(1个目标函数、9个变量、6个线性等式约束),一直都是No feasible solution,不知道本身无解还是什么问题。

x0=[4000;4000;2000;500;100;10;10;10;10];
A=[]; b=[];
Aeq=[-88.840439250000020,    20.679950666666663,   -2.158236236666667e+02,    -3.601469919166667e+02,   -36.694763666666690,   21.462819666666660,   -13.261596999999995,   7.477251833333336,   -1.023975406666667e+02;  
    0.012,    0,      0,     0.012,  0.012,    0,      0,      0,    0.012;  
    0,      0.002,  0.002,     0,    0.004,    0,    0.003,  0.002,    0;      
    0.016,    0,    0.016,   0.032,    0,      0,      0,      0,    0.016;            
    0,        0,      0,       0,      0,    0.028,  0.014,    0,      0;  
    0,        0,      0,       0,      0,      0,      0,   0.032,   0.032]
beq=[4588048.12066667;
         171.600000000000;
         21.5666666666667;
         241.933333333333;
         2.10000000000000;
         0.600000000000000]
VLB=[0.001;0.001;0.001;0.001;0.001;0.001;0.001;0.001;0.001];
VUB=[6601.833333;4978.305556;4978.305556;5172.684028;2489.152778;34.625;69.25;8.65625;8.65625];
options = optimoptions(@fmincon,'Algorithm','interior-point','MaxIter',5000);
[x,fval,exitflag,output]=fmincon(@Gibbsfun,x0,A,b,Aeq,beq,VLB,VUB,[],options)

%%目标函数为myobjfun
function G=myobjfun(x)
    deltaG1=-8.841665127258336e+04; deltaG2=-1.661952727160000e+05;
    deltaG3=5.504948170966668e+04; deltaG4=-1.666712325249982e+03;
    deltaG5=1.092642304030001e+05; deltaG6=-2.281491138470000e+05;
    deltaG7=1.169078584030000e+05; deltaG8=1.087887085851667e+05;
    deltaG9=4.941138012599998e+04;
G=x(1)*(deltaG1+8314*log(x(1)/sum(x)*1.2))+x(2)*(deltaG2+8314*log(x(2)/sum(x)*1.2))...
+x(3)*(deltaG3+8314*log(x(3)/sum(x)*1.2))+x(4)*(deltaG4+8314*log(x(4)/sum(x)*1.2))...
+x(5)*(deltaG5+8314*log(x(5)/sum(x)*1.2))+x(6)*(deltaG6+8314*log(x(6)/sum(x)*1.2))...
+x(7)*(deltaG7+8314*log(x(7)/sum(x)*1.2))+x(8)*(deltaG8+8314*log(x(8)/sum(x)*1.2))...
+x(9)*(deltaG9+8314*log(x(9)/sum(x)*1.2))

计算结果如下:
No feasible solution found.
fmincon stopped because the size of the current step is less than
the default value of the step size tolerance but constraints are not
satisfied to within the default value of the constraint tolerance.

<stopping criteria details>
x =
   1.0e+03 *

   4.666024308553983
   3.857233354391819
   2.387214185792911
   0.000001000000005
   0.000001000000001
   0.015465337002847
   0.000001000000003
   0.008656249999525
   0.006364985001793

fval =
    -1.006342210855910e+09

exitflag =
    -2

output =

         iterations: 70
          funcCount: 710
    constrviolation: 5.438285104570996e+06
           stepsize: 9.313859771460607e-10
          algorithm: 'interior-point'
      firstorderopt: 0.043644013275751
       cgiterations: 76
            message: 'No feasible solution found.
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
内容已删除
2楼2016-01-22 20:36:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinzhen724

新虫 (小有名气)

引用回帖:
2楼: Originally posted by dingd at 2016-01-22 20:36:15
除了Matlab代码,把原问题用文本和图片描述下

谢谢你的回答。这就是一个简单气化炉的吉布斯模型的求解过程,等式约束是根据质量守恒和能量守恒得出,因为建模过程涉及不少物理化学的参数,不太好描述、
3楼2016-01-27 09:10:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wang_chuan

银虫 (正式写手)

【答案】应助回帖

你采用的是MATLAB内置的寻优方法,内点法,此类方法要求被求对象导数存在且容易求得,你的问题不一定符合这个要求。也就是说,你待求解的问题非线性强,不能用数学方法来做,或找不到可行解。建议用粒子群算法自己写一下程序,几十行定能求解出来。
4楼2016-01-27 22:30:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinzhen724

新虫 (小有名气)

引用回帖:
4楼: Originally posted by wang_chuan at 2016-01-27 22:30:02
你采用的是MATLAB内置的寻优方法,内点法,此类方法要求被求对象导数存在且容易求得,你的问题不一定符合这个要求。也就是说,你待求解的问题非线性强,不能用数学方法来做,或找不到可行解。建议用粒子群算法自己写 ...

好的,我试试,谢谢
5楼2016-02-01 23:25:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qinzhen724 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +3 工厂打螺丝 2026-08-08 3/150 2026-08-11 13:42 by 会议编辑
[基金申请] 听说今天filecode变了 +26 布布和一二 2026-08-06 49/2450 2026-08-11 13:18 by WH3796
[基金申请] 帮忙看看fileCode +6 wwncly 2026-08-10 12/600 2026-08-11 13:01 by wwncly
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +5 布布和一二 2026-08-10 6/300 2026-08-11 10:15 by 医学老男孩
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +6 Tide man 2026-08-10 6/300 2026-08-11 09:45 by tangmnt
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +10 yufeiwaner 2026-08-09 11/550 2026-08-10 18:47 by yufeiwaner
[基金申请] 好奇怪的filecode +4 布布和一二 2026-08-08 5/250 2026-08-10 14:20 by 冰心玉壶晴
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 化学口download_prp&amp;fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
信息提示
请填处理意见