24小时热门版块排行榜    

Znn3bq.jpeg
查看: 3392  |  回复: 6

不变的擎

新虫 (初入文坛)

[求助] 刚开始接触遗传算法,求大牛解答一下非线性约束的问题。

我使用的是matlab内置的gatool,在不加非线性约束的时候的最优求解时没有问题的,但是加了非线性约束后,不知道为什么每次优化,遗传算法只会走到第五代就结束,结果如图中所示,所得到的结果并不是最优的,因为我用fmincon函数得到了更优的解,跟遗传算法这个相比要相差很多。不知道遗传算法这里是不是需要设置什么参数?还是要怎样,才能得到最优解。我的非线性约束稍微有点复杂,中间调用了其他一些函数,但是我觉得约束应该没有问题,毕竟同样用fmincon在这个约束下得出了最优。只不过fmincon通常是求局部最优的,虽然在这里是一个约束内的全局最优,但是我还是想用遗传算法来求这个最优解。希望大神们可以帮我看看,一下是我的非线性约束的程序,问题的背景是关于轨道机动求速度增量的,这个约束就是速度增量的约束:
function [c,ceq]=Copy_of_constraints(x)
f1 = x(1);
f2 = x(2);
t = x(3);
ceq = [];
DeltaV_Limit=2800;
% *******************************输入参数******************************** %
% 初始轨道参数
a1=6771004; % 单位:m
e1=0.02;
i1=30; % 单位:度
Om1=30;
Omega1=100;
Root1=[a1 e1 i1 Om1 Omega1 f1];% 行向量
% 目标轨道参数
a2=15000000;
e2=0.01;
i2=30;
Om2=30;
Omega2=20;
Root2=[a2 e2 i2 Om2 Omega2 f2];
% ****************************计算位置速度矢量**************************** %
% 初始轨道位置速度矢量  R1=R1(f1);Vi=Vi(f1)
[R1,Vi]=Orbit_Vector(Root1);
% 目标轨道位置速度矢量  R2=R2(f2);Vf=Vf(f2)
[R2,Vf]=Orbit_Vector(Root2);
% **********************J2摄动下的实际目标位置与速度*********************** %
R=R2;
for k=1:5 % 迭代五次
v = Lambert_test(R1,R,t,Vi);
v1 = v(:,1);
Rootp = Vector_Orbit(R1,v1);
Rootq = solveJ2(Rootp,t);
[r2,v2]=Orbit_Vector(Rootq);% 实际的位置速度
dr = r2-R2;
R = R-dr;
end;
% 转移轨道在J2摄动下的实际速度增量
DeltaV=norm(v1-Vi)+norm(v2-Vf);
c=DeltaV-DeltaV_Limit;

所以我想不是约束的问题,那应该就是遗传算法参数选择的问题了吧。在这个ga工具箱中,我查看了帮助中的说明,在非线性约束的条件下,不能选择bit string的编码,于是只能选择了double vector的编码,相应的选择交叉变异等都是使用内置的函数,所以这些参数也就是概率什么的都是没有设置的。那么怎么样去让遗传算法求出最优解呢?其实我最核心的问题还是,为什么每次都是第五代就停止?这个norm of the step is less than......是不是表明有些参数设置的不对?如果没有非线性约束的时候,结果如第二张图所示。

刚开始接触遗传算法,求大牛解答一下非线性约束的问题。
filehelper_1489638505460_90.png


刚开始接触遗传算法,求大牛解答一下非线性约束的问题。-1
filehelper_1489987834719_66.png
回复此楼

» 猜你喜欢

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

fxf142

金虫 (小有名气)

请问这个constraint是如何设置的呢
2楼2017-04-10 20:51:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
3楼2017-08-18 06:48:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
4楼2017-08-18 23:54:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
5楼2017-08-19 13:20:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
6楼2017-08-20 03:14:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

好哦咯不公哦

新虫 (初入文坛)

引用回帖:
1楼: Originally posted by 不变的擎 at 2017-03-20 13:32:30
我使用的是matlab内置的gatool,在不加非线性约束的时候的最优求解时没有问题的,但是加了非线性约束后,不知道为什么每次优化,遗传算法只会走到第五代就结束,结果如图中所示,所得到的结果并不是最优的,因为我用 ...

请问楼主你解决了吗?能分享一下吗?非常感谢!

发自小木虫Android客户端
7楼2017-11-16 20:25:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 不变的擎 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿鲁东大学071000生物学学硕初试分数276求调剂 +26 慕绝cc 2026-04-09 30/1500 2026-04-14 18:50 by 蔡苏阳
[考研] 一志愿沪9,326求生物学调剂 +10 刘墨墨 2026-04-13 10/500 2026-04-14 15:16 by zs92450
[考研] 求调剂 +12 何气正 2026-04-13 13/650 2026-04-14 14:47 by zs92450
[考研] 考研调剂 +13 长弓傲 2026-04-13 14/700 2026-04-14 14:44 by zs92450
[考研] 机械还有还有名额吗?太难了 +8 笑笑袁 2026-04-10 8/400 2026-04-14 08:44 by screening
[考研] 本科西工大 324求调剂 +5 wysyjs25 2026-04-10 5/250 2026-04-13 23:08 by pies112
[考研] 一志愿211 0703化学 346分求调剂 +26 土豆er? 2026-04-09 29/1450 2026-04-13 15:15 by 独醉梦孤城
[考研] 求调剂288 +7 ioodiiij 2026-04-10 9/450 2026-04-13 08:33 by Hayaay
[教师之家] 山东双非院校考核超级无底线,领导幸灾乐祸,教师遭殃恐 +3 qut2026 2026-04-11 7/350 2026-04-12 20:24 by qut2026
[考研] 22408 352分求调剂 +5 努力的夏末 2026-04-09 5/250 2026-04-12 19:17 by wj165256
[考研] 339求调剂 +8 hanwudada 2026-04-11 9/450 2026-04-12 15:36 by laoshidan
[考研] 药学专硕调剂 +8 ? 一路生?花? 2026-04-10 10/500 2026-04-11 21:21 by zhouxiaoyu
[考研] 303求调剂 +14 SereinQ 2026-04-10 15/750 2026-04-11 20:43 by 蓝云思雨
[考研] 270求调剂 +14 杨乐369 2026-04-11 14/700 2026-04-11 20:16 by 蓝云思雨
[考研] 0859,337求调剂 +4 研s. 2026-04-10 4/200 2026-04-11 11:34 by caotw2020
[考研] 296求调剂 +6 汪!?! 2026-04-09 6/300 2026-04-11 11:25 by zhq0425
[考研] 309求调剂 +14 wdhw 2026-04-10 15/750 2026-04-10 21:06 by zhouxiaoyu
[考研] 江苏大学 工科调剂 捡漏 +3 Evan_Liu 2026-04-09 5/250 2026-04-10 10:22 by Evan_Liu
[考研] 一志愿中科大070300化学,314分求调剂 +12 wakeluofu 2026-04-09 12/600 2026-04-10 09:57 by liuhuiying09
[考研] 337求调剂 +4 Gky09300550, 2026-04-09 4/200 2026-04-09 17:18 by 帕尔马拉特
信息提示
请填处理意见