1 一、LINGO 简介 LINGO [1]是美国 LINDO 系统公司开发的求解数学规划系列软件中你的一个,它的主要功能是求解大型线性、非线性和整数规划问题,LINGO 的不同版本对模型的变量总数、非线性变量数目、整型变量数目和约束条件的数量做出不同的限制. LINGO 的主要功能特色为: (1)既能求解线性规划问题,也有较强的求解非线性规划问题的能力; (2)输入模型简练直观; (3)运行速度快、计算能力强. (4)内置建模语言,提供几十个内部函数,从而能以较少语句,较直观的方式描述较大规模的优化模型; (5)将集合的概念引入编程语言,很容易将实际问题转换为 LINGO 模型; (6)能方便地与 EXCEL、数据库等其他软件交换数据. LINGO 像其他软件一样,对他的语法有规定,LINGO 的语法规定如下: (1) 求目标函数的最大值或最小值分别用MAX=„或MIN=„来表示; (2) 每个语句必须以字母开头,由字母、数字和下划线所组成,昌都不超过32个字符,不区分大小写; (3)每个语句必须以分号“;”结束,每行可以有多个语句,语句可以跨行; (4)如果对变量的取值范围没有特殊说明,则默认所有决策变量都非负; (5)LINGO 模型以语句“MODEL”开头,以语句“END”结束,对于比较简单的模型,这这两个语句可以省略. LINGO 提供了五十几个内部函数,使用这些函数可以大大减少编程工作量,这些函数都是以字符@开头,下面简单介绍其中的集合操作函数和变量定界函数及用法. 集合是 LINGO 建模语言中最重要的概念,使用集合操作函数能够实现强大的 2 功能,LINGO 提供的常用集合操作函数有@FOR(s:e)、@SUM(s:e)、@MAX(s:e)、@MIN(s:e)等.@FOR(s:e)常用在约束条件中,表示对集合s中的每个成员都生成一个约束条件表达式,表达式的具体形式由参数e 描述;@SUM(s:e) 表示对集合s 中的每个成员,分别得到表达式 e 的值,然后返回所有这些值的和;@MAX(s:e) 表示对集合s 中的每个成员,分别得到表达式 e 的值,然后返回所有这些值中的最大值;@MIN(s:e) 表示对集合s 中的每个成员,分别得到表达式 e 的值,然后返回所有这些值中的最小值. LINGO 默认变量的取值可以从零到正无穷大,变量定界函数可以改变默认状态,如对整数规划,限定变量取整数,对 0-1 规划,限定变量取 0 1 或.LINGO 提供的变量定界函数有:@BIN(X)、@BND(L,X,U)、@GIN(X)、@FREE(X).@BIN(X)限定 X为 0 或 1,在 0-1 规划中特别有用;@GIN(X)限定 X 为整数,在整数规划中特别有用;@BND(L,X,U)限定 L<X<U...