24小时热门版块排行榜    

查看: 1511  |  回复: 11

刀削面王子

新虫 (小有名气)

[求助] 一个优化问题含有非线性约束,不知道该怎么编写。。。 已有2人参与

我的优化模型其中有这样的非线性约束:
y(t+1)=a*x(t)+b(t)*y(t);
b(t)=m*min{Y/y(t) , 1};
其中,a,b,m,Y都是已知的,X是控制变量,y是状态变量。我用遗传算法是可以实现的,但运行起来太慢,且效果不好。但如果用MATLAB中fmincon的话,其建模是靠矩阵的,第二条就不知道该怎么实现了。
求大神解答,用LINGO或者别的实现也行。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
1stOpt应该可以很容易实现,自己先试试
2楼2016-03-17 18:01:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刀削面王子

新虫 (小有名气)

引用回帖:
2楼: Originally posted by dingd at 2016-03-17 18:01:25
1stOpt应该可以很容易实现,自己先试试

哦,我这软件我也知道一些,但是对其编程不太熟,像我这个模型里t的值是从1到24,那在1stOpt应该怎么编写语句呢?
3楼2016-03-17 19:06:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

引用回帖:
3楼: Originally posted by 刀削面王子 at 2016-03-17 19:06:24
哦,我这软件我也知道一些,但是对其编程不太熟,像我这个模型里t的值是从1到24,那在1stOpt应该怎么编写语句呢?...

具体问题发上来,包括所有模型公式和已知数据
4楼2016-03-17 20:57:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rym2002

木虫 (著名写手)

含有min条件的
fmincon无法处理
必须将其转化为可以表述的数学形式
5楼2016-03-17 22:23:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
用nonlcon选项添加非线性限制条件。直接看fmincon帮助文档就有

发自小木虫IOS客户端
6楼2016-03-17 23:53:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刀削面王子

新虫 (小有名气)

引用回帖:
5楼: Originally posted by rym2002 at 2016-03-17 22:23:44
含有min条件的
fmincon无法处理
必须将其转化为可以表述的数学形式

就是不知道min的可表述的数学形式啊
7楼2016-03-18 10:39:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刀削面王子

新虫 (小有名气)

引用回帖:
4楼: Originally posted by dingd at 2016-03-17 20:57:38
具体问题发上来,包括所有模型公式和已知数据...

目标函数:0.24*(y(1)-50)^2+10 + 0.24*(y(2)-50)^2+10 +……0.24*(y(24)-50)^2+10
约束条件:
y(t+1)=a*x(t)+b(t)*y(t);
b(t)=m*min{Y/y(t) , 1};
40<=y(t)<=80;
a,b,m,Y,和y(1)都是已知的,随便给定个数就行。
8楼2016-03-18 13:03:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

【答案】应助回帖

引用回帖:
7楼: Originally posted by 刀削面王子 at 2016-03-18 10:39:13
就是不知道min的可表述的数学形式啊...

我已经跟你说了,fmincon可以处理任意自定义非线性函数限制条件,min也不例外,fmincon完全可以直接处理。这个帮助文档写的很清楚,也有例子,你点nonlcon的那个例子就看到了

发自小木虫IOS客户端
9楼2016-03-18 14:10:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刀削面王子

新虫 (小有名气)

引用回帖:
9楼: Originally posted by virtualzx at 2016-03-18 14:10:25
我已经跟你说了,fmincon可以处理任意自定义非线性函数限制条件,min也不例外,fmincon完全可以直接处理。这个帮助文档写的很清楚,也有例子,你点nonlcon的那个例子就看到了
...

哦 这样 我试一下吧
10楼2016-03-18 15:22:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 刀削面王子 的主题更新
信息提示
请填处理意见