24小时热门版块排行榜    

查看: 1971  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂 +8 调剂的考研学生 2026-03-09 8/400 2026-03-15 22:14 by Winj1e
[考研] 一志愿985,本科211,0817化学工程与技术319求调剂 +3 Liwangman 2026-03-15 3/150 2026-03-15 18:16 by JourneyLucky
[考研] 22408总分284求调剂 +3 InAspic 2026-03-13 3/150 2026-03-15 11:10 by zhq0425
[考研] 289求调剂 +5 步川酷紫123 2026-03-11 5/250 2026-03-15 00:45 by kruisytel
[考研] 268求调剂 +5 一定有学上- 2026-03-14 6/300 2026-03-14 22:20 by 运气yunqi
[考研] 中科大材料专硕319求调剂 +3 孟鑫材料 2026-03-13 3/150 2026-03-14 18:10 by houyaoxu
[考研] 265求调剂 +4 威化饼07 2026-03-12 4/200 2026-03-14 17:23 by userper
[考研] 2026考研调剂+本科延边大学+山东大学+生物化学与分子生物学+有项目经验 +3 ccdsscjy 2026-03-09 6/300 2026-03-14 02:14 by JourneyLucky
[考研] 333求调剂 +3 球球古力 2026-03-09 3/150 2026-03-14 01:57 by JourneyLucky
[考研] 考研材料与化工,求调剂 +8 戏精丹丹丹 2026-03-09 8/400 2026-03-14 01:14 by JourneyLucky
[考研] 311求调剂 +5 牛乳糖的卡卡 2026-03-10 5/250 2026-03-14 00:05 by JourneyLucky
[考研] 材料与化工(0856)304求B区调剂 +6 邱gl 2026-03-12 7/350 2026-03-13 23:24 by 邱gl
[考研] 四川大学085601材料工程专硕 初试294求调剂 +4 祝我们好在冬天 2026-03-11 4/200 2026-03-13 21:39 by peike
[考研] 329求调剂 +3 miaodesi 2026-03-12 4/200 2026-03-13 20:53 by 18595523086
[考研] 285化工学硕求调剂(081700) +6 柴郡猫_ 2026-03-12 6/300 2026-03-13 20:46 by hmn_wj
[考研] 考研调剂 +4 芬达46 2026-03-12 4/200 2026-03-13 16:04 by ruiyingmiao
[考研] 材料调剂,307分 +13 张泳铭1 2026-03-09 17/850 2026-03-13 11:09 by 薛云鹏
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-12 5/250 2026-03-13 10:56 by houyaoxu
[考研] 大连大学化学专业研究生调剂 +3 琪久. 2026-03-10 8/400 2026-03-11 10:02 by 琪久.
[考研] 279求调剂 +3 莫xiao 2026-03-10 4/200 2026-03-11 08:06 by 斩魂滴兔子!
信息提示
请填处理意见