AMPL: A Modeling Language for Mathematical Programming, 2/e
暫譯: AMPL:數學規劃的建模語言,第二版

Robert Fourer, David M. Gay, Brian W. Kernighan

  • 出版商: Thomson
  • 出版日期: 2002-11-12
  • 售價: $490
  • 語言: 英文
  • 頁數: 540
  • 裝訂: Hardcover
  • ISBN: 0534388094
  • ISBN-13: 9780534388096
  • 已絕版

買這商品的人也買了...

相關主題

商品描述

AMPL is a language for large-scale optimization and mathematical programming problems in production, distribution, blending, scheduling, and many other applications. Combining familiar algebraic notation and a powerful interactive command environment, AMPL makes it easy to create models, use a wide variety of solvers, and examine solutions. Though flexible and convenient for rapid prototyping and development of models, AMPL also offers the speed and generality needed for repeated large-scale production runs. This book, written by the creators of AMPL, is a complete guide for modelers at all levels of experience. It begins with a tutorial on widely used linear programming models, and presents all of AMPL's features for linear programming with extensive examples. Additional chapters cover network, nonlinear, piecewise-linear, and integer programming; database and spreadsheet interactions; and command scripts. Most chapters include exercises. Download free versions of AMPL and several solvers from www.ampl.com for experimentation, evaluation, and education. The Web site also lists vendors of the commercial version of AMPL and numerous solvers.

Table of Contents

1. PRODUCTION MODELS: MAXIMIZING PROFITS.
A two-variable linear program. The two-variable linear program in AMPL. A linear programming model. The linear programming model in AMPL. Adding lower bounds to the model. Adding resource constraints to the model. AMPL interfaces.

2. DIET AND OTHER INPUT MODELS: MINIMIZING COSTS.
A linear program for the diet problem. An AMPL model for the diet problem. Using the AMPL diet model. Generalizations to blending, economics, and scheduling.

3. TRANSPORTATION AND ASSIGNMENT MODELS.
A linear program for the transportation problem. An AMPL model for the transport ation problem. Other interpretations of the transportation model.

4. BUILDING LARGER MODELS.
A multicommodity transportation model. A multiperiod production model. A model o f production and transportation.

5. SIMPLE SETS AND INDEXING.
Unordered sets. Sets of numbers. Set operations. Set membership operations and f unctions. Indexing expressions. Ordered sets.

6. COMPOUND SETS AND INDEXING.
Sets of ordered pairs. Subsets and slices of ordered pairs. Sets of longer tuple s. Operations on sets of tuples. Indexed collections of sets.

7. PARAMETERS AND EXPRESSIONS.
Parameter declarations. Arithmetic expressions. Logical and conditional expressi ons. Restrictions on parameters. Computed parameters. Randomly generated paramet ers. Logical parameters. Symbolic parameters.

8. LINEAR PROGRAMS: VARIABLES, OBJECTIVES AND CONSTRAINTS.
Variables. Linear expressions. Objectives. Constraints.

9. SPECIFYING DATA.
Formatted data: the data command. Data in lists. Data in tables. Other features of data statements. Reading unformatted data: the read command.

10. DATABASE ACCESS.
General principles of data correspondence. Examples of table-handling statements . Reading data from relational tables. Writing data to relational tables. Readin g and writing the same table. Indexed collections of tables and columns. Standar d and built-in table handlers.

11. MODELING COMMANDS.
General principles of commands and options. Setting up and solving models and da ta. Modifying data. Modifying models.

12. DISPLAY COMMANDS.
Browsing through results: the display command. Formatting options for display. Numeric options for display. Other output commands: print and printf. Related so lution values. Other display features for models and instances. General faciliti es for manipulating output.

13. COMMAND SCRIPTS.
Running scripts: include and commands. Iterating over a set: the for statement. Iterating subject to a condition: the repeat statement. Testing a condition: th e if-then-else statement. Terminating a loop: break and continue. Stepping throu gh a script. Manipulating character strings.

14. INTERACTIONS WITH SOLVERS.
Presolve. Retrieving results from solvers. Exchanging information with solvers v ia suffixes. Alternating between models. Named problems.

15. NETWORK LINEAR PROGRAMS.
Minimum-cost transshipment models. Other network models. Declaring network model s by node and arc. Rules for node and arc declarations. Solving network linear p rograms.

16. COLUMNWISE FORMULATIONS.
An input-output model. A scheduling model. Rules for columnwise formulations.

17. PIECEWISE-LINEAR PROGRAMS.
Cost terms. Common two-piece and three-piece terms. Other piecewise-linear funct ions. Guidelines for piecewise-linear optimization.

18. NONLINEAR PROGRAMS.
Sources of nonlinearity. Nonlinear variables. Nonlinear expressions. Pitfalls of nonlinear programming.

19. COMPLEMENTARITY PROBLEMS.
Sources of complementarity. Forms of complementarity constraints. Working with c omplementarity constraints.

20. INTEGER LINEAR PROGRAMS.
Integer variables. Zero-one variables and logical conditions. Practical consider ations in integer programming.

APPENDIX A: AMPL REFERENCE MANUAL.

INDEX.

商品描述(中文翻譯)

AMPL 是一種用於生產、分配、混合、排程及許多其他應用的大規模優化和數學規劃問題的語言。結合熟悉的代數符號和強大的互動命令環境,AMPL 使得創建模型、使用各種求解器以及檢查解答變得簡單。雖然 AMPL 在快速原型設計和模型開發方面靈活且方便,但它也提供了重複進行大規模生產運行所需的速度和通用性。本書由 AMPL 的創作者撰寫,是針對各種經驗水平的建模者的完整指南。它以廣泛使用的線性規劃模型的教程開始,並展示了 AMPL 在線性規劃方面的所有功能,並附有大量範例。其他章節涵蓋了網路、非線性、分段線性和整數規劃;數據庫和電子表格的互動;以及命令腳本。大多數章節都包含練習題。可從 www.ampl.com 下載 AMPL 和幾個求解器的免費版本以進行實驗、評估和教育。該網站還列出了 AMPL 商業版本的供應商和多個求解器。

目錄

1. 生產模型:最大化利潤。
一個兩變量的線性程序。AMPL 中的兩變量線性程序。線性規劃模型。AMPL 中的線性規劃模型。為模型添加下限。為模型添加資源約束。AMPL 介面。

2. 飲食及其他輸入模型:最小化成本。
一個飲食問題的線性程序。飲食問題的 AMPL 模型。使用 AMPL 飲食模型。對混合、經濟學和排程的概括。

3. 運輸和分配模型。
一個運輸問題的線性程序。運輸問題的 AMPL 模型。運輸模型的其他解釋。

4. 建立更大的模型。
一個多商品運輸模型。一個多期生產模型。一個生產和運輸的模型。

5. 簡單集合和索引。
無序集合。數字集合。集合運算。集合成員運算和函數。索引表達式。有序集合。

6. 複合集合和索引。
有序對的集合。有序對的子集和切片。較長元組的集合。元組集合的運算。索引集合的集合。

7. 參數和表達式。
參數聲明。算術表達式。邏輯和條件表達式。參數的限制。計算參數。隨機生成的參數。邏輯參數。符號參數。

8. 線性程序:變量、目標和約束。
變量。線性表達式。目標。約束。

9. 指定數據。
格式化數據:數據命令。列表中的數據。表格中的數據。數據語句的其他特徵。讀取未格式化數據:讀取命令。

10. 數據庫訪問。
數據對應的一般原則。表處理語句的範例。從關聯表中讀取數據。將數據寫入關聯表。讀取和寫入相同的表。表和列的索引集合。標準和內建的表處理器。

11. 建模命令。
命令和選項的一般原則。設置和求解模型及數據。修改數據。修改模型。

12. 顯示命令。
瀏覽結果:顯示命令。顯示的格式選項。顯示的數字選項。其他輸出命令:打印和 printf。相關解決值。模型和實例的其他顯示特徵。操作輸出的通用功能。

13. 命令腳本。
運行腳本:包含和命令。對集合進行迭代:for 語句。根據條件進行迭代:repeat 語句。測試條件:if-then-else 語句。終止循環:break 和 continue。逐步執行腳本。操作字符字符串。

14. 與求解器的互動。
預處理。從求解器檢索結果。通過後綴與求解器交換信息。在模型之間交替。命名問題。

15. 網路線性程序。
最小成本的轉運模型。其他網路模型。按節點和弧聲明網路模型。節點和弧聲明的規則。求解網路線性程序。

16. 列式公式。
一個輸入-輸出模型。一個排程模型。列式公式的規則。

17. 分段線性程序。
成本項。常見的兩段和三段項。其他分段線性函數。分段線性優化的指導方針。

18. 非線性程序。
非線性的來源。非線性變量。非線性表達式。非線性規劃的陷阱。

19. 互補性問題。
互補性的來源。互補性約束的形式。處理互補性約束。

20. 整數線性程序。
整數變量。零一變量和邏輯條件。整數規劃中的實際考量。

附錄 A:AMPL 參考手冊。

索引。