运筹学及其lingo实现(1)-lingo入门

lingo是什么

LINGO是Linear Interactive and General Optimizer的缩写,即“交互式的线性和通用优化求解器”,由美国LINDO系统公司(Lindo System Inc.)推出的,可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等,功能十分强大,是求解优化模型的最佳选择。
其特色在于内置建模语言,提供十几个内部函数,可以允许决策变量是整数(即整数规划,包括 0-1 整数规划),方便灵活,而且执行速度非常快。能方便与EXCEL,数据库等其他软件交换数据。LINGO16.0为最新版本。

lingo常用于线性优化问题,结合运筹学中主要的优化问题类型,本系列将使用lingo求解常见的运筹学优化模型,主要包含:

  • 线性规划
  • 运输问题
  • 整数规划
  • 目标规划
  • 图论与网络
  • 排队轮
  • 存储论
  • 对策论
    等一系列问题。

优化问题基本结构

一般来说,一个优化模型将由以下三部分组成:
1.目标函数(Objective Function):要达到的目标。
2.决策变量(Decision variables):每组决策变量的值代表一种方案。在优化模型中需要确定决策变量的最优值,优化的目标就是找到决策变量的最优值使得目标函数取得最优。
3.约束条件(Constraints):对于决策变量的一些约束,它限定决策变量可以取的值。
在写数学模型时,一般第一行是目标函数,接下来是约束条件,再接着是一些非负限制等。

lingo基本语法

LINGO模型(程序)从LINGO模型窗口输入,它以语句“MODEL:”开始,以语句“END”结束.它是由一系列语句组成,每个语句都是以分号“;”结束,语句是组成LINGO模型的基本单位.每行可以写多个语句,为了保持模型的可读性,最好一行只写一个语句,并且按照语句之间的嵌套关系对语句安排适当的缩进,增强层次感.以感叹号“!”开始的语句是注释语句(注释语句也需要以分号“;”结束).

运筹学及其lingo实现(1)-lingo入门_第1张图片
lingo工作界面

你可能感兴趣的:(运筹学及其lingo实现(1)-lingo入门)