声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1491|回复: 7

[编程技巧] 关于求解有约束非线性最优化问题的出错请教

[复制链接]
发表于 2008-1-25 11:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x

题目

题目


库函数:
function y=opt_fun1(x)
y=exp(x(1))*(4*x(1)* x(1)+2*x(2)*x(2)+4*x(1)*x(2)+2*x(2)+1)
function [c,ceq]=opt_con1(x)
ceq=[ ] c=[x(1)*x(1)-x(1)-x(2)+1.5;-x(1)*x(2)-10]
解:
x0=[-1;1]
LB=[0,0]
UB=[inf;inf]
A=[-1,1,-1;0,-1,0]
B=[0, 0]
AE=[ ]
BE=[ ]
[x, f_opt, c, d]=fmincon(@opt_fun1, x0,A, B, AE, BE, LB, UB,@opt_con1)
结果:
y =

    5.0009


ceq =

     []


c =

    0.4999
  -10.0001

??? Error using ==> fmincon at 541
A has the wrong number of columns.

[ 本帖最后由 eight 于 2008-1-25 12:08 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-1-25 14:04 | 显示全部楼层
用1stOpt试了一下:
ParameterDomain = [0,];
MinFunction exp(x1)*(4*x1* x1+2*x2*x2+4*x1*x2+2*x2+1);
            x1*x1-x1-x2+1.5<=0;
            -x1*x2-10<=0;

结果:
目标函数值(最小): 8.5
x1: 0
x2: 1.5
 楼主| 发表于 2008-1-25 14:43 | 显示全部楼层
麻烦dingd 您能写详细点么
1STOpt不熟阿 !
 楼主| 发表于 2008-1-25 14:50 | 显示全部楼层
算了 只会用MATLAB
发表于 2008-1-25 15:09 | 显示全部楼层
问题似乎没有讲清楚。
x1( 0)=-1; x2(2)=1 --------------难道x1,x2不是变量?
请描述一下问题及变量。否则,问题虽简单,求出的却不一定是你要的。

[ 本帖最后由 xjzuo 于 2008-1-25 15:35 编辑 ]
 楼主| 发表于 2008-1-25 15:23 | 显示全部楼层
很感谢xjzuo的回复
老师给的题目就是这个,我也参考先前的课堂笔记,有类似的题目,求解过程和我的一样,能够得出答案!
关键此题约束条件出现X1*X2,不知这么处理!!
发表于 2008-1-25 15:37 | 显示全部楼层
你还是没有讲一下你的问题:   “x1( 0)=-1; x2(2)=1”写法明显有问题。
 楼主| 发表于 2008-1-25 15:41 | 显示全部楼层
我也感觉到有问题了 需要和老师沟通下 谢谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-11 17:30 , Processed in 0.111504 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表