数学建模社区-数学中国

标题: 急急急! 跪求代码 问题很简单 Lingo代码老是错 [打印本页]

作者: qisefengye    时间: 2013-12-8 21:15
标题: 急急急! 跪求代码 问题很简单 Lingo代码老是错
本帖最后由 qisefengye 于 2013-12-9 09:54 编辑

已知定点坐标A(2,3)从给定的3个点中B(5,6)C(4,7)D(2,8)找出与与A最近的点坐标,用LINGO代码实现

跪求大神给出代码 谢谢!

model:
sets:
!坐标集合;
demand/1..3/:a,b;
endsets
data:
!坐标值;
a=5,4,2;
b=6,7,8;
enddata
init:
!定点初始坐标;
x,y=2,3;
endinit
!目标函数;
min=@sqrt(demand(i): (x-a(i))^2+(y-b(i))^2);
end

上面的代码老是有问题 调不出来了 跪求答案  

作者: qisefengye    时间: 2013-12-8 21:27
有知道的吗?在线等 求解释
作者: wujianjack2    时间: 2013-12-9 00:06
    我看了下你的问题及代码,改了下,至少下面的代码可以运行了:
model:
sets:
!坐标集合;
demand/1..3/:a,b,z;
endsets
data:
!坐标值;
a=5,4,2;
b=6,7,8;
enddata
init:
!定点初始坐标;
x,y=2,3;
endinit
!目标函数;
@for(demand(i):z(i)=(x-a(i))^2+(y-b(i))^2);
min=@min(demand(i):z(i));
end

结果:
  Global optimal solution found.
  Objective value:                             0.1000000E-09
  Objective bound:                              0.000000
  Infeasibilities:                                   0.4725109E-12
  Extended solver steps:                            0
  Total solver iterations:                           131


                       Variable           Value        Reduced Cost
                              X        4.000000            0.000000
                              Y        7.000000            0.000000
                          A( 1)        5.000000            0.000000
                          A( 2)        4.000000            0.000000
                          A( 3)        2.000000            0.000000
                          B( 1)        6.000000            0.000000
                          B( 2)        7.000000            0.000000
                          B( 3)        8.000000            0.000000
                          Z( 1)        2.000000           0.4854957E-08
                          Z( 2)        0.000000            0.000000
                          Z( 3)        5.000000          -0.1614661E-07

                            Row    Slack or Surplus      Dual Price
                              1        0.000000            0.000000
                              2        0.000000           -1.000000
                              3        0.000000            0.000000
                              4        0.000000           -1.000000

有点奇怪的是为什么A点要初始化呢?不是定点么?
另外,如果问题只是这样,应该是很简单的,完全不值20元,建议你好好地看下LINGO的书,论坛置顶帖中有两本,可以下载看看,祝你学习LINGO愉快!
举手之劳,如果满意,也莫提钱的事,论坛也不鼓励这样发帖交易,望三思!

作者: qisefengye    时间: 2013-12-9 10:20
wujianjack2 发表于 2013-12-9 00:06
我看了下你的问题及代码,改了下,至少下面的代码可以运行了:
model:
sets:

感谢版主如此热心的帮助  辛苦了




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5