24小时热门版块排行榜    

查看: 1988  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

小龙_1217

木虫 (初入文坛)

[交流] 【求助】matlab 二次规划的优化的问题 已有1人参与

我们MATLAB里的二次规划算法去优化一个方程 我编的程序如下:
H=eye(12,12);
c=zeros(12,1);
A=[1 0 -0.5 0 0 0 0 0 0 0 0 0;
      0 0 0 1 0 -0.5 0 0 0 0 0 0;
      0 0 0 0 0 0 1 0 -0.5 0 0 0;
      0 0 0 0 0 0 0 0 0 1 0 -0.5];
b=[0;0;0;0];
Aeq=[eye(3) eye(3) eye(3) eye(3);L1 L2 L3 L4];beq=[80;0;200;0;12;0];
        x_1=-0.15;y_1=0.4;z_1=0.35;
        x_2=0.15;y_2=0.4;z_2=0.35;
        x_3=-0.15;y_3=0;z_3=0.35;
        x_4=0.15;y_4=0;z_4=0.35;
        L1=[0 z_1 y_1;-z_1 0 -x_1;-y_1 x_1 0];
        L2=[0 z_2 y_2;-z_2 0 -x_2;-y_2 x_2 0];
        L3=[0 z_3 y_3;-z_3 0 -x_3;-y_3 x_3 0];
        L4=[0 z_4 y_4;-z_4 0 -x_4;-y_4 x_4 0];
VLB=[];VUB=[];
[x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)
在程序上我个人感觉好像没什么大错呀 得出的 结果是:
x =

   32.3333     (x1)
    0.0000      (x2)
   64.6667     (x3)
  -32.3333     (x4)
   -0.0000      (x5)
  -64.6667     (x6)
   64.3333     (x7)
    0.0000      (x8)
  168.6667    (x9)
   15.6667     (x10)
   -0.0000      (x11)
   31.3333     (x12)
这个结果肯定是不对的  做过很多修改 其结果与上面的都差不多  这里 首先就是要保证x3,x6,x9,x12是大于零的 (貌似这个限制条件我也不会加呀)x6就是小于零的  再者 x7 x9这个数都过于的大 我怎么弄都不知道如何让这数减小  这些理想的值应该在【20 0 50 20 0 50 20 0 50 20 0 50】这个范围左右   我试过家范围 VLB=[0;-100;0;0;-100;0;0;-100;0;0;-100;0];VUB=[110;100;100;110;100;100;110;100;100;110;100;100]; 但是出来的结果还是差不多的 x6还是负的  x7 x9结果过于大 尤其是x9  给了范围 结果还是在范围之外  规定在50左右 每次都150 160的 太离谱了  貌似范围没有作用  我尝试修改了很多 但是每次都是失败 求求哪位大侠能帮帮忙我将万分感谢 小弟不胜感激呀
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ab77977

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
4楼: Originally posted by winjade at 2010-10-09 12:04:17
从函数的使用来看,quadprog()是求最小值的,
x=quadprog (H,f,A,b,Aeq,beq,lb,ub)
其中f为规划函数,而你的程序中是一个零矩阵,再确认一下。

f是规划函数吗?
5楼2013-04-19 10:09:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

dreamred8087

金虫 (正式写手)

小龙_1217(金币+10): 谢谢 2011-03-16 16:57:04
建议楼主加上变量的上下界,不然Matlab可能找到的是其他的局部解,不知道对不对,呵呵...
3楼2010-09-17 17:46:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

winjade

银虫 (小有名气)

小龙_1217(金币+10): 谢谢 2011-03-16 16:57:17
从函数的使用来看,quadprog()是求最小值的,
x=quadprog (H,f,A,b,Aeq,beq,lb,ub)
其中f为规划函数,而你的程序中是一个零矩阵,再确认一下。
4楼2010-10-09 12:04:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 工科材料085601 279求调剂 +6 困于星晨 2026-03-17 8/400 2026-03-20 11:24 by kkcoco25
[考研] 304求调剂 +5 曼殊2266 2026-03-18 5/250 2026-03-20 09:00 by ZHANG0tao
[考研] 085600材料与化工 求调剂 +17 enenenhui 2026-03-13 18/900 2026-03-20 08:55 by xingguangj
[考研] 295材料求调剂,一志愿武汉理工085601专硕 +3 Charlieyq 2026-03-19 3/150 2026-03-20 08:53 by xingguangj
[考研] 一志愿苏州大学材料求调剂,总分315(英一) +3 sbdksD 2026-03-19 3/150 2026-03-19 23:21 by fmesaito
[考研] 328求调剂,英语六级551,有科研经历 +3 生物工程调剂 2026-03-17 7/350 2026-03-18 20:41 by Wangjingyue
[考研] 295求调剂 +3 一志愿京区211 2026-03-18 5/250 2026-03-18 17:03 by zhaoqian0518
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +8 小李0854 2026-03-16 8/400 2026-03-18 14:35 by 搏击518
[考研] 304求调剂 +12 小熊joy 2026-03-14 13/650 2026-03-18 12:34 by Linda Hu
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[考研] 考研求调剂 +3 橘颂. 2026-03-17 4/200 2026-03-17 21:43 by 有只狸奴
[考研] 268求调剂 +8 一定有学上- 2026-03-14 9/450 2026-03-17 17:47 by laoshidan
[考研] 有没有道铁/土木的想调剂南林,给自己招师弟中~ +3 TqlXswl 2026-03-16 7/350 2026-03-17 15:23 by TqlXswl
[考研] 材料与化工专硕调剂 +5 heming3743 2026-03-16 5/250 2026-03-17 14:03 by 勇敢太监王公公
[考研] 材料工程专硕274一志愿211求调剂 +6 薛云鹏 2026-03-15 6/300 2026-03-17 11:05 by 学员h26Tkc
[考研] 274求调剂 +5 时间点 2026-03-13 5/250 2026-03-17 07:34 by 热情沙漠
[考研] 289求调剂 +4 这么名字咋样 2026-03-14 6/300 2026-03-14 18:58 by userper
[考研] 297一志愿上交085600求调剂 +5 指尖八千里 2026-03-14 5/250 2026-03-14 17:26 by a不易
[考研] 一志愿哈工大材料324分求调剂 +5 闫旭东 2026-03-14 5/250 2026-03-14 14:53 by 木瓜膏
[考研] 330求调剂 +3 ?酱给调剂跪了 2026-03-13 3/150 2026-03-14 10:13 by JourneyLucky
信息提示
请填处理意见