LINGO学习心得[1]




朱旭生LINGO学习心得

LINGO的主要特点:一是数学化的语言,用的是数学模型比较直观;二是数据段与程序语句段分开,甚至可以利用不在lingo文件中的外界数据文件来给变量赋值.

1.可以利用EXCEL与LINGO之间直接传递数据;从EXCEL到LINGO的语句为 “变量=@OLE(?EXCEL文件的详细名称(包括路径)?)”;

从LINGO到EXCEL的语句为

“@OLE(?EXCEL文件的详细名称(包括路径)?)=变量”.

放在LINGO数据区

注意:这里的电子表格EXCEL的数据段应该取名,方法是用鼠标左键锁定数据区后从菜单“插入”中选“名称”,再选“定义”,在弹出的表格中输入该数据段的名称(英文,本来在excel中是可以定义中文名称的,但是作为lingo变量则不能)。输出的EXCEL表格也是如此定义数据区。

输出的表格可以与输入的表格不在同一个文件里,在lingo程序运行前定义出输出区域的名称。

注意在用cut,paste功能时很容易多出一些标点符号,使得语句不符合语法规则!

2。在解大型问题时,可能会出现计算时LINGO内存不够,这时应该修改LINGO选择项“Option”中的相关选项。

3。象本例中,我们对EXCEL的表格中的数据进行处理(关于11或10补)时,也可以利用LINGO来完成。

4。条件语句:@IF( logical_condition, true_result, false_result),如下面程序:



MIN = COST;

COST = XCOST + YCOST;

XCOST = @IF( X #GT# 0, 100, 0) + 2 * X;

YCOST = @IF( Y #GT# 0, 60, 0) + 3 * Y;

X + Y >= 30;



其中生产产品X的成本为分段函数:x=0时,成本为0;x>0时,成本为 100+2x,即生产准备费为100.



5.变量取名规则:以英文字母打头,后面可以跟英文字母,数字0-9,以及下划线_.变量中的字母大小写不区别,如:XAB与Xab,xab等价.



6. SETS段: 定义一个同样属性的集合,如同学们,老师们,宿舍群等等,他们在建模过程中往往表示为同学1,同学2,??,同学n,以下方式等价:

同学们/同学1,同学2,同学3,同学4,同学5,同学6,同学7,同学8,同学9,同学10/:分数; 同学们/同学1..同学10/:分数;

同学们/1..10/:分数;

注:最后一种表示方式必须是从数字1开始标,但是中间那个可以是/同学3..同学10/


相关文档
最新文档