瓦片 发表于 2012-5-22 17:46

如何进行数据初始化?

truck/t1 t2/:QT,FT;
vehicle/v1 v2 v3/:QV,FV;
point/d1 s1 s2 c1 c2 c3 c4 c5/;
level1(point)/d1 s1 s2/;
level2(point)/s1 s2 c1 c2 c3 c4 c5/;
variable1(level2,level2,vehicle):x;!变量x表示二级网络中车辆k从点i行驶至点j的0、1 变量.路径问题;
有时候为了搜索速度更快,我们往往会采取数据初始化,请问在上述语句中 假设我想使T1从S1到C1,我该如何用init赋予初值呢?谢谢,赋予为1.

吴建宏 发表于 2012-5-22 21:34

使用随机函数 rand 在加上范围即可随机赋初值

瓦片 发表于 2012-5-22 22:09

吴建宏 发表于 2012-5-22 21:34 static/image/common/back.gif
使用随机函数 rand 在加上范围即可随机赋初值

在lingo中啊  而且我想是指定赋值而不是随机。

qlb061 发表于 2012-8-13 23:07

      在Lingo中,好的初始值确实可以减少模型的求解时间。但是,初始值部分(即INIT:...ENDINIT部分)只对非线性模型有效;当在线性模型中给出初始值时,程序将忽略初始值部分,因为线性规划问题可以有效解决(小规模和中等规模的问题一般使用单纯性法,大规模问题和系数矩阵是稀疏的使用内点法)。
    在实际的计算过程中,真正求解困难的是大规模的整数规划问题和一般的非线性规划问题。因此,当建模者知道比较好的最优解或者相对较优的目标函数值时,可以通过下面两种方式来减少Lingo求解问题的时间:
1. 对于非线性规划模型,在INIT部分给出初始搜索点,以减少对“无效区域”的搜索;
2. 对于整数规划模型,提供Hurdle值以帮助分支定界求解器排除比Hurdle值差的区域,因为比已知解差的部分无需再分支求解。
Hurdle值可以通过以下方式进行设置:Lingo->Option->Integer Solver->Tolerances:Hurdle

ashes_of_time 发表于 2013-7-31 21:04

好  好
好啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
页: [1]
查看完整版本: 如何进行数据初始化?