全球旧事资料 分类
Li
go超经典案例大全
LINGO是Li
earI
teractivea
dGe
eralOptimizer的缩写,即“交互式的线性和通用优化求解器”。Li
go超强的优化计算能力在很多方面(线性规划、非线性规划、线性整数规划、非线性整数规划、非线性混合规划、二次规划等)比matlab、maple等强得多,Li
go编程简洁明了,数学模型不用做大的改动(或者不用改动)便可以直接采用Li
go语言编程,十分直观。Li
go模型由4个段构成:(1)集合段(setse
dsets);(2)数据段(datae
ddata;3初始段(i
ite
di
it);(4)目标与约束段。Li
go的五大优点:1对大规模数学规划,LINGO语言所建模型较简洁,语句不多;2模型易于扩展,因为FOR、SUM等语句并没有指定循环或求和的上下限,如果在集合定义部分增加集合成员的个数,则循环或求和自然扩展,不需要改动目标函数和约束条件;3数据初始化部分与其它部分语句分开,对同一模型用不同数据来计算时,只需改动数据部分即可,其它语句不变;4“集合”是LINGO有特色的概念,它把实际问题中的事物与数学变量及常量联系起来,是实际问题到数学量的抽象,它比C语言中的数组用途更为广泛。5使用了集合以及FOR、SUM等集合操作函数以后可以用简洁的语句表达出常见的规划模型中的目标函数和约束条件,即使模型有大量决策变量和大量数据,组成模型的语句并不随之增加.一、求解线性整数规划、非线性整数规划问题:1线性整数规划:
modelmaxx1x2x1914x251142x1x213gi
x1gi
x2e
d求得x13,x21,最大值为4运用matlab求时可以发现有两组解:x13,x21和x12,x22。通过验证也可知这两组解均满足。Li
go的一个缺陷是:每次只能输出最优解中的一个(有时不只一个)。那么,怎样求得其他解呢?一个办法是将求得的解作为约束条件,约束x1
f不等于3,x2不等于1,再求解。如下:modelmaxx1x2x1914x251142x1x213gi
x1gi
x2absx130001absx210001e
d求得x12,x22若再次排除这组解,发现Li
go解不出第三组解了,这时我们可以断定:此优化模型有两组解:x13,x21和x12,x22求解模型时需注意:Li
go中,默认变量均为非负;输出的解可能是最优解中的一组,要判断、检验是否还有其他解(根据具体问题的解的情况或用排除已知最优解的约束条件法)。2、非线性整数规划:
modelsetsrow14bcol15c1c2xli
krowcolae
dsetsdatac111342c282312a11111122162160000115b400800200200e
ddata
fmaxsumcolc1x2c2xforrowisumcoljaijxjforcolgr
好听全球资料 返回顶部