24小时热门版块排行榜    

查看: 2245  |  回复: 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的回帖

包公

新虫 (初入文坛)

2楼2010-09-17 11:21:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

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的回帖

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的回帖
相关版块跳转 我要订阅楼主 小龙_1217 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 科研孤儿太难了 +12 我4大白菜 2026-08-20 12/600 2026-08-20 20:42 by 6543yes
[基金申请] 言之凿凿,明天官网会通知放榜? +15 医学老男孩 2026-08-20 17/850 2026-08-20 20:35 by CaoLG
[基金申请] 时间戳又变了 +12 wuchongjun 2026-08-20 17/850 2026-08-20 20:05 by spzhao
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 只有每年这种时候来逛逛小木虫 +21 yaoyewhu2008 2026-08-20 22/1100 2026-08-20 17:03 by yaoyewhu2008
[基金申请] 放榜前的不淡定 40+3 snowwithsea 2026-08-19 12/600 2026-08-20 15:56 by lfy8008
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 今天基金会出结果吗?20260819 +14 kkkl_v 2026-08-19 15/750 2026-08-20 08:21 by sunzitan
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜没戏了吧 +4 yuleib84 2026-08-19 5/250 2026-08-19 19:52 by hhs666
[基金申请] filecode=后面第一个是大写字母 +10 wangze12014 2026-08-14 12/600 2026-08-19 16:56 by 苦难博士
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 什么时候开奖? +6 CrisMessi 2026-08-18 6/300 2026-08-19 08:06 by Equinoxhua
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
信息提示
请填处理意见