声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3034|回复: 0

[1stopt] 点对应移动优化问题1

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

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

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

x
原题见研学论坛:
(http://bbs.matwav.com/post/view?bid=89&id=842147&tpg=1&ppg=1&sty=1#843415)
如附件图,散乱的蓝色点为初始化位置
现:经过移动变为红色3×3 队列;

问题:如何规划每一个蓝色点移到哪个对应的红色点,使得所有蓝色点移动的距离和最短。

如果没有最优解,是否有优化解。

1stOpt代码:
Constant FixX=[0,3,6,0,3,6,0,3,6], FixY=[6,6,6,3,3,3,0,0,0];  //红点x及y坐标
Constant RndX=[4.18,3.40,3.98,1.38,2.25,3.03], RndY=[3.62,3.60,4.76,2.03,0.23,5.78];  //蓝点x及y坐标
Parameter P(1:9)=[1,9];
Exclusive = True;
Minimum;
StartProgram [Pascal];
Procedure MainModel;
var j: integer;
    temV: double;
Begin
    temV := 0;
    for j := 1 to 9 do
        temV := temV + sqrt(sqr(RndX[j]-FixX[P[j]])+sqr(RndY[j]-FixY[P[j]]));
    FunctionResult := temV;
End;
EndProgram;

结果:
目标函数值(最小): 15.9877648155411
p1: 6
p2: 5
p3: 3
p4: 1
p5: 4
p6: 2
p7: 7
p8: 9
p9: 8

即第一个蓝点p1移到第6个红点, p2移到第5个红点...p9移到第8个红点。最短距离为:15.9877648155411
92856801.jpg
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-13 10:22 , Processed in 0.070821 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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