你好,有个关于用lingo软件做选课的优化问题想问您

一、模型构建要实现的目标:所选课程权重值的和最大且所选课程数最少。
涉及到0-1问题:如果选课就用1表示;如果不选课就用0表示。
约束条件:总学分至少为8数据构建
a:数据:即为学科的学分和权重
b: 目标函数:所选课程的权重最大
C: 约束条件:所选课程的总学分要大于8学分
二、利用Lingo软件进行求解数据数据分为两个部分:学科的学分来源于大连交通教务系统课程的权重根据课程对自己的重要和难易程度进行赋值,1-10,分数值越大重要程度越高,具体数值如下表。学科 学分 权重应用数理统计 2 6
最优化方法 2 3
计量经济学 2.5 7
运筹学 3 8
统计软件应用 2 10
西方经济学 3 3
现代管理学 2 5

如果要在程序中使用数组,就必须在该部分进行定义,否则可不需要该部分。(2)目标与约束:这部分定义了目标函数、约束条件等。一般要用到LINGO的内部函数,可在后面的具体应用中体会其功能与用法。求解优化问题时,该部分是必须的。(3)数据部分(DATA):这部分以“DATA:”开始,以“END DA TA”结束。其作用在于对集合的属性(数组)输入必要的数值。格式为:attribut=value_list。该部分主要是方便数据的输入。

(4)初始化部分(INIT):这部分以“INIT:”开始,以“END INIT”结束。作用在于对集合的属性(数组)定义初值。格式为:attribute=value_list。由于非线性规划求解时,通常得到的是局部最优解,而局部最优解受输入的初值影响。通常可改变初值来得到不同的解,从而发现更好的解。

编写LINGO程序要注意的几点:

1.所有的语句除SETS、ENDSETS、DA TA、ENDDATA、INIT、ENDINIT和MODEL,END 之外必须以一个分号“;”结尾。

2.L INGO求解非线性规划时已约定各变量非负。

LINGO内部函数使用详解。

LINGO建立优化模型时可以引用大量的内部函数,这些函数以“@”符号打头。

(1)常用数学函数

@ABS(X) 返回变量X的绝对数值。

@COS( X)

返回X的余弦值,X的单位为弧度

@EXP( X)

不得用于商业用途

返回x e 的值,其中e 为自然对数的底,即 71828.2

@FLOOR( X)

向0靠近返回X 的整数部分。如@FLOOR(3.7),则返回3;@FLOOR(-3.7),则返回-3。 @LGM( X)

返回Γ函数的自然对数值。

@LOG( X)

返回变量X 的自然对数值。

@SIGN( X)

返回变量X 的符号值,当X<0时为-1;当X>0时为1。

@SIN( X)

返回X 的正弦值,X 的单位为弧度

@SMAX( X1, X2,..., XN)

返回一列值X1, X2,..., XN 的最大值。

@SMIN( X1, X2,..., XN)

返回一列值X1, X2,..., XN 的最小值。

@TAN( X)

返回X 的正切值,X 的单位为弧度
温馨提示:答案为网友推荐,仅供参考
相似回答