LINDO和LINGO是美國LINDO系統(tǒng)公司開發(fā)的一套專門用于求解最優(yōu)化問題的軟件包.LINDO用于求解線性規(guī)劃和二次規(guī)劃問題,LINGO除了具有LINDO的全部功能外,還可以用于求解非線性規(guī)劃問題,也可以用于一些線性和非線性方程(組)的求解,等等.LINDO和LINGO軟件的最大特色在于可以允許優(yōu)化模型中的決策變量是整數(shù)(即整數(shù)規(guī)劃),而且執(zhí)行速度很快.LINGO實(shí)際上還是最優(yōu)化問題的一種建模語言,包括許多常用的函數(shù)可供使用者建立優(yōu)化模型時(shí)調(diào)用,并提供與其他數(shù)據(jù)文件(如文本文件、Excel電子表格文件、數(shù)據(jù)庫文件等)的接口,易于方便地輸入、求解和分析大規(guī)模最優(yōu)化問題.由于這些特點(diǎn),LINDO和LINGO軟件在教學(xué)、科研和工業(yè)、商業(yè)、服務(wù)等領(lǐng)域得到了廣泛應(yīng)用.
本書詳細(xì)介紹在Microsoft Windows環(huán)境下運(yùn)行的最新版本(LINDO 61,LINGO 9.0)的使用方法,并包括社會(huì)、經(jīng)濟(jì)、工程等方面的大量實(shí)際應(yīng)用問題的數(shù)學(xué)建模和求解實(shí)例,可供了解和使用優(yōu)化建模和優(yōu)化軟件的教師和學(xué)生、管理決策者、科技工作者及其他對(duì)此感興趣的讀者閱讀,也可作為運(yùn)籌學(xué)課程的教學(xué)參考書.
在工程技術(shù)、經(jīng)濟(jì)管理、科學(xué)研究和日常生活等諸多領(lǐng)域中,人們經(jīng)常遇到的一類決策問題是,在一系列客觀或主觀限制條件下,尋求使所關(guān)注的某個(gè)或多個(gè)指標(biāo)達(dá)到最大(或最小)的決策.這種決策問題通常稱為最優(yōu)化(或簡稱為優(yōu)化)問題,研究處理這類問題的數(shù)學(xué)方法稱為最優(yōu)化方法,它也是運(yùn)籌學(xué)和管理科學(xué)中解決定量決策問題的基本方法.在決策科學(xué)化、定量化的呼聲日益高漲的今天,用最優(yōu)化方法解決定量決策問題無疑是符合時(shí)代潮流和形勢(shì)發(fā)展需要的.
用最優(yōu)化方法解決決策問題包括兩個(gè)基本步驟: 首先,需要把實(shí)際決策問題翻譯、表述成數(shù)學(xué)最優(yōu)化的形式,即用數(shù)學(xué)建模的方法建立決策問題的優(yōu)化模型,或簡稱為優(yōu)化建模;其次,建立優(yōu)化模型后,需要選擇、利用優(yōu)化方法和工具求解模型.優(yōu)化建模方法自然具有一般的數(shù)學(xué)建模方法的共同特性,但優(yōu)化模型又是一類既重要、又特殊的數(shù)學(xué)模型,因此優(yōu)化建模方法又具有一定的特殊性和專業(yè)性.此外,由于優(yōu)化模型的種類很多,很多模型目前還沒有有效的求解方法,不同的算法用于求解不同模型的效果可能差異很大,如何利用優(yōu)化軟件求解優(yōu)化模型也有一定的專業(yè)性和技巧性.
本書就是希望以上面兩個(gè)步驟為突破口,一方面重點(diǎn)介紹優(yōu)化建模的思想和方法,另一方面重點(diǎn)介紹專業(yè)的優(yōu)化軟件包LINDO和LINGO的使用.全書結(jié)合具體的案例進(jìn)行介紹,而很少介紹有關(guān)優(yōu)化的數(shù)學(xué)理論.之所以這樣組織,主要是基于以下考慮: 目前國內(nèi)有關(guān)優(yōu)化的數(shù)學(xué)理論方面的專門書籍已經(jīng)很多,有興趣的讀者隨時(shí)可以從幾乎任何一本運(yùn)籌學(xué)或最優(yōu)化方法的書中找到相應(yīng)的數(shù)學(xué)理論;此外,我們希望使本書的起點(diǎn)盡量低,讓沒有太多數(shù)學(xué)基礎(chǔ)的讀者也能讀懂絕大部分內(nèi)容,從而把本書的重點(diǎn)放到強(qiáng)調(diào)優(yōu)化建模方法的重要性和實(shí)用性上,并借助專業(yè)優(yōu)化軟件的強(qiáng)大功能,直接得到優(yōu)化模型的結(jié)果.
目前國際市場上的專業(yè)優(yōu)化軟件以及包含部分優(yōu)化功能的數(shù)學(xué)類軟件很多,本書之所以選擇LINDO和LINGO軟件進(jìn)行介紹,主要是因?yàn)長INDO和LINGO軟件是著名的專業(yè)優(yōu)化軟件,其功能比較強(qiáng)、計(jì)算效果比較好,與那些包含部分優(yōu)化功能的非專業(yè)軟件相比,通常具有明顯的優(yōu)勢(shì).此外,LINDO和LINGO軟件使用起來非常簡便,很容易學(xué)會(huì),在優(yōu)化軟件(尤其是運(yùn)行于個(gè)人電腦上的優(yōu)化軟件)市場占有很大份額,在國外運(yùn)籌學(xué)類的教科書中也被廣泛用做教學(xué)軟件.
前言優(yōu)化建模與LINDO/LINGO軟件本書大致可以分成兩部分: 前4章介紹優(yōu)化模型的基本概念和LINDO/LINGO軟件的基本使用方法.在這一部分,我們盡量將軟件的使用介紹得完整些,以便使之能作為LINDO/LINGO的簡易使用手冊(cè),但讀者不一定在第一次閱讀時(shí)就全部掌握,可以在將來需要時(shí)再回頭來查閱和加深理解(尤其對(duì)于標(biāo)題中帶有“*”的內(nèi)容).從第5章開始,通過介紹優(yōu)化模型在各個(gè)領(lǐng)域的一些典型的應(yīng)用案例,說明優(yōu)化建模的過程,最后歸結(jié)為用LINDO/LINGO軟件求解.這部分內(nèi)容中的每個(gè)案例基本上都是獨(dú)立的,讀者可以隨意選擇閱讀.
本書中所有案例的LINDO/LINGO程序可以從以下網(wǎng)址下載:
http://faculty.math.tsinghua.edu.cn/~jxie/lindo
由于編者水平所限,書中一定存在很多不足甚至錯(cuò)誤之處,歡迎讀者不吝指正.我們的電子郵件地址是: jxie@math.tsinghua.edu.cn (謝金星);xueyi@bjut.edu.cn(薛毅).
第1章引言
1.1優(yōu)化模型的基本概念
1.1.1優(yōu)化模型的一般形式
1.1.2可行解與最優(yōu)解
1.1.3優(yōu)化模型的基本類型
1.2優(yōu)化問題的建模實(shí)例
1.2.1線性規(guī)劃模型
1.2.2二次規(guī)劃模型
1.2.3非線性規(guī)劃模型
1.2.4整數(shù)規(guī)劃模型
1.2.5其他優(yōu)化模型
1.3LINDO/LINGO軟件簡介
1.3.1LINDO/LINGO軟件的基本功能
1.3.2LINDO/LINGO軟件的求解過程
1.3.3建立LINDO/LINGO優(yōu)化模型需要注意的幾個(gè)基本問題
習(xí)題1
第2章LINDO軟件的基本使用方法
2.1LINDO入門
2.1.1LINDO軟件的安裝過程
2.1.2編寫一個(gè)簡單的LINDO程序
2.1.3一些注意事項(xiàng)
2.2敏感性分析
2.3整數(shù)線性規(guī)劃的求解
*2.4二次規(guī)劃的求解
*2.5LINDO的主要菜單命令
2.5.1文件主菜單
2.5.2編輯主菜單
2.5.3求解主菜單
2.5.4報(bào)告主菜單
*2.6LINDO命令窗口
2.6.1INFORMATION(信息類命令)
2.6.2INPUT(輸入類命令)
2.6.3DISPLAY(顯示類命令)
2.6.4OUTPUT(輸出類命令)
2.6.5SOLUTION(求解類命令)
2.6.6PROBLEM EDITING (編輯類命令)
2.6.7QUIT(退出類命令)
2.6.8INTEGER,QUADRATIC,AND PARAMETRIC PROGRAMS
(整數(shù)、二次與參數(shù)規(guī)劃類命令)
2.6.9CONVERSATIONAL PARAMETERS(對(duì)話類命令)
2.6.10USER SUPPLIED ROUTINES(用戶過程類命令)
2.6.11MISCELLANEOUS(其他命令)
*2.7LINDO命令腳本文件
附錄MPS格式數(shù)據(jù)文件
習(xí)題2
目錄優(yōu)化建模與LINDO/LINGO軟件第3章LINGO軟件的基本使用方法
3.1LINGO入門
3.1.1LINGO軟件的安裝過程和主要特色
3.1.2在LINGO中使用LINDO模型
3.1.3編寫一個(gè)簡單的LINGO程序
3.2在LINGO中使用集合
3.2.1集合的基本用法和LINGO模型的基本要素
3.2.2基本集合與派生集合
3.2.3稠密集合與稀疏集合
3.2.4集合的使用小結(jié)
3.3運(yùn)算符和函數(shù)
3.3.1運(yùn)算符及其優(yōu)先級(jí)
3.3.2基本的數(shù)學(xué)函數(shù)
3.3.3集合循環(huán)函數(shù)
3.3.4集合操作函數(shù)
3.3.5變量定界函數(shù)
3.3.6財(cái)務(wù)會(huì)計(jì)函數(shù)
3.3.7概率論中的相關(guān)函數(shù)
3.3.8文件輸入輸出函數(shù)
3.3.9結(jié)果報(bào)告函數(shù)
3.3.10其他函數(shù)
3.4LINGO的主要菜單命令
3.4.1文件主菜單
3.4.2編輯主菜單
3.4.3LINGO系統(tǒng)(LINGO)主菜單
3.5LINGO命令窗口
習(xí)題3
*第4章LINGO軟件與外部文件的接口
4.1通過Windows剪貼板傳遞數(shù)據(jù)
4.1.1粘貼命令的用法
4.1.2特殊粘貼命令的用法
4.2通過文本文件傳遞數(shù)據(jù)
4.2.1通過文本文件輸入數(shù)據(jù)
4.2.2通過文本文件輸出數(shù)據(jù)
4.3通過電子表格文件傳遞數(shù)據(jù)
4.3.1在LINGO中使用電子表格文件的數(shù)據(jù)
4.3.2將LINGO模型嵌入、鏈接到電子表格文件中
4.4LINGO命令腳本文件
附錄LINGO出錯(cuò)信息
習(xí)題4
第5章生產(chǎn)與服務(wù)運(yùn)作管理中的優(yōu)化問題
5.1生產(chǎn)與銷售計(jì)劃問題
5.1.1問題實(shí)例
5.1.2建立模型
5.1.3求解模型
5.2有瓶頸設(shè)備的多級(jí)生產(chǎn)計(jì)劃問題
5.2.1問題實(shí)例
5.2.2建立模型
5.2.3求解模型
5.3下料問題
5.3.1鋼管下料問題
5.3.2易拉罐下料問題
5.4面試順序與消防車調(diào)度問題
5.4.1面試順序問題
5.4.2消防車調(diào)度問題
5.5飛機(jī)定位和飛行計(jì)劃問題
5.5.1飛機(jī)的精確定位問題
5.5.2飛行計(jì)劃問題
習(xí)題5
第6章經(jīng)濟(jì)與金融中的優(yōu)化問題
6.1經(jīng)濟(jì)均衡問題及其應(yīng)用
6.1.1單一生產(chǎn)商、單一消費(fèi)者的情形
6.1.2兩個(gè)生產(chǎn)商、兩個(gè)消費(fèi)者的情形
6.1.3拍賣與投標(biāo)問題
6.1.4交通流均衡問題
6.2投資組合問題
6.2.1基本的投資組合模型
6.2.2存在無風(fēng)險(xiǎn)資產(chǎn)時(shí)的投資組合模型
6.2.3考慮交易成本的投資組合模型
6.2.4利用股票指數(shù)簡化投資組合模型
6.2.5其他目標(biāo)下的投資組合模型
6.3市場營銷問題
6.3.1新產(chǎn)品的市場預(yù)測(cè)
6.3.2產(chǎn)品屬性的效用函數(shù)
6.3.3機(jī)票的銷售策略
習(xí)題6
第7章圖論與網(wǎng)絡(luò)模型
7.1運(yùn)輸問題與轉(zhuǎn)運(yùn)問題
7.1.1運(yùn)輸問題
7.1.2指派問題
7.1.3轉(zhuǎn)運(yùn)問題
7.2最短路問題和最大流問題
7.2.1最短路問題
7.2.2最大流問題
7.2.3最小費(fèi)用最大流問題
7.3最優(yōu)連線問題與旅行商問題
7.3.1最優(yōu)連線問題
7.3.2旅行商問題
7.4計(jì)劃評(píng)審方法和關(guān)鍵路線法
7.4.1計(jì)劃網(wǎng)絡(luò)圖
7.4.2計(jì)劃網(wǎng)絡(luò)圖的計(jì)算
7.4.3關(guān)鍵路線與計(jì)劃網(wǎng)絡(luò)的優(yōu)化
7.4.4完成作業(yè)期望和實(shí)現(xiàn)事件的概率
習(xí)題7
第8章目標(biāo)規(guī)劃模型
8.1線性規(guī)劃與目標(biāo)規(guī)劃
8.1.1線性規(guī)劃建模與目標(biāo)規(guī)劃建模
8.1.2線性規(guī)劃建模的局限性
8.2目標(biāo)規(guī)劃的數(shù)學(xué)模型
8.2.1目標(biāo)規(guī)劃的基本概念
8.2.2目標(biāo)規(guī)劃模型的建立
8.2.3目標(biāo)規(guī)劃的一般模型
8.2.4求解目標(biāo)規(guī)劃的序貫式算法
8.3目標(biāo)規(guī)劃模型的實(shí)例
8.4數(shù)據(jù)包絡(luò)分析
8.4.1數(shù)據(jù)包絡(luò)分析的基本概念
8.4.2C2R模型
8.4.3數(shù)據(jù)包絡(luò)分析的求解
習(xí)題8
第9章對(duì)策論模型
9.1二人常數(shù)和對(duì)策模型
9.1.1二人零和對(duì)策
9.1.2二人常數(shù)和對(duì)策
9.2二人非常數(shù)和對(duì)策
9.2.1純對(duì)策問題
9.2.2混合對(duì)策問題
9.3n人合作對(duì)策初步
習(xí)題9
第10章排隊(duì)論模型
10.1排隊(duì)服務(wù)系統(tǒng)的基本概念
10.1.1排隊(duì)的例子及基本概念
10.1.2符號(hào)表示
10.1.3描述排隊(duì)系統(tǒng)的主要數(shù)量指標(biāo)
10.1.4與排隊(duì)論模型有關(guān)的LINGO函數(shù)
10.2等待制排隊(duì)模型
10.2.1等待制排隊(duì)模型的基本參數(shù)
10.2.2等待制排隊(duì)模型的計(jì)算實(shí)例
10.3損失制排隊(duì)模型
10.3.1損失制排隊(duì)模型的基本參數(shù)
10.3.2損失制排隊(duì)模型計(jì)算實(shí)例
10.4混合制排隊(duì)模型
10.4.1混合制排隊(duì)模型的基本公式
10.4.2混合制排隊(duì)模型的基本參數(shù)
10.4.3混合制排隊(duì)模型計(jì)算實(shí)例
10.5閉合式排隊(duì)模型
10.5.1閉合式排隊(duì)模型的基本參數(shù)
10.5.2閉合式排隊(duì)模型計(jì)算實(shí)例
10.6排隊(duì)系統(tǒng)的最優(yōu)化模型
10.6.1系統(tǒng)服務(wù)時(shí)間的確定
10.6.2系統(tǒng)服務(wù)臺(tái)(員)的確定
習(xí)題10
第11章存儲(chǔ)論模型
11.1存儲(chǔ)論模型簡介
11.1.1問題的引入
11.1.2存儲(chǔ)論模型的基本概念
11.2經(jīng)濟(jì)訂購批量存儲(chǔ)模型
11.2.1基本的經(jīng)濟(jì)訂購批量存儲(chǔ)模型
11.2.2帶有約束的經(jīng)濟(jì)訂購批量存儲(chǔ)模型
11.2.3允許缺貨的經(jīng)濟(jì)訂購批量存儲(chǔ)模型
11.2.4帶有約束允許缺貨模型
11.2.5經(jīng)濟(jì)訂購批量折扣模型
11.3經(jīng)濟(jì)生產(chǎn)批量存儲(chǔ)模型
11.3.1基本的經(jīng)濟(jì)生產(chǎn)批量存儲(chǔ)模型
11.3.2帶有約束的經(jīng)濟(jì)生產(chǎn)批量存儲(chǔ)模型
11.3.3允許缺貨的經(jīng)濟(jì)生產(chǎn)批量存儲(chǔ)模型
11.3.4帶有約束的允許缺貨模型
11.4單周期隨機(jī)庫存模型
11.4.1模型的基本假設(shè)
11.4.2模型的推導(dǎo)
11.4.3模型的求解
習(xí)題11
第12章數(shù)學(xué)建模競賽中的部分優(yōu)化問題
12.1一個(gè)飛行管理問題
12.1.1問題描述
12.1.2模型1及求解
12.1.3模型2及求解
12.2鋼管訂購和運(yùn)輸
12.2.1問題描述
12.2.2運(yùn)費(fèi)矩陣的計(jì)算模型
12.2.3運(yùn)輸量計(jì)算模型及求解
12.3露天礦生產(chǎn)的車輛安排
12.3.1問題描述
12.3.2運(yùn)輸計(jì)劃模型及求解
12.4空洞探測(cè)
12.4.1問題描述
12.4.2優(yōu)化模型及求解
習(xí)題12
參考文獻(xiàn)