出版時(shí)間:2009-7 出版社:科學(xué)出版社 作者:周建陽 頁數(shù):236
Tag標(biāo)簽:無
前言
設(shè)計(jì)一門接近人類的基礎(chǔ)推理、以常規(guī)數(shù)理邏輯為語法的問題求解語言是可行的,這一目標(biāo)可以通過結(jié)合人丁智能(Artificial Intel gence)、運(yùn)籌學(xué)(OperationsResearCh)和邏輯規(guī)劃(Logic Programming)技術(shù)來實(shí)現(xiàn)。本書為讀者介紹自然約束語言(Natural Constraint Language,NCL)及其軟件平臺POEM (programming in Operationand Expressive Models)。NCL使問題建模及求解近乎自然,提供給用戶一門學(xué)習(xí)快捷、使用簡便、以自然簡潔的方法求解組合問題的計(jì)算機(jī)語言。 作者在1995年博士學(xué)習(xí)階段開始構(gòu)思研發(fā)NCL,設(shè)計(jì)思想相當(dāng)簡單,使用TEX作為元語言來描述組合問題并用NCL解算器進(jìn)行問題求解。簡而言之,NCL是一門支持智能語法(上下文相關(guān)語法)的、求解約束滿足問題的描述型語言,支持隱式類型的聲明、進(jìn)行全局的語義分析、基于上下文的推理及求解。NCL將數(shù)值約束、簡化的一階邏輯及集合推理集成在一個語言環(huán)境之下,形成一個在混合域(實(shí)數(shù)、整數(shù)、布爾值、索引及集合)上針對約束滿足問題的聯(lián)合求解系統(tǒng)。因此,NCL具有獨(dú)特的編程風(fēng)格:①自然建模;②混合集合規(guī)劃。 NCL的語言原型于1997年12月提交給第三屆國際系統(tǒng)科學(xué)和系統(tǒng)工程會議(Zhou,1998),并于1998年3月正式提交給邏輯規(guī)劃協(xié)會的官方雜志廠The journal ofLogic programming (Zhou,2000)?! ∑駷橹?,本書介紹的:NCL距NCL的原型已十年有余。NCL從最初幾萬行的C++代碼發(fā)展到現(xiàn)今的30余萬行,技術(shù)趨于成熟。產(chǎn)品POEM的總體代碼量也已突破70萬行的C++代碼,成為一個大型的、支持工程化開發(fā)優(yōu)化方案的基礎(chǔ)型軟件。NCL朝著“將數(shù)理邏輯產(chǎn)業(yè)化”的目標(biāo)前進(jìn)了一步。
內(nèi)容概要
本書介紹自然約束語言NCL及其開發(fā)平臺POEM。全書共6章,其中第1章簡要介紹NCL語言與求解系統(tǒng);第2章和第3章介紹NCL語言的基本體系和原理方法,內(nèi)容包括NCL的詞法、語法及語義等;第4章介紹NCL語言的開發(fā)平臺POEM的使用方法;第5章介紹如何用NCL語言進(jìn)行建模及求解;第6章介紹NCL語言在工業(yè)優(yōu)化中的部分應(yīng)用。 本書可作為高等院校及科研院所研究運(yùn)籌學(xué)、物流優(yōu)化、人工智能和軟件方向的教師和研究生的科研參考書。針對如何用NCL語言及其開發(fā)平臺POEM求解運(yùn)籌學(xué)組合優(yōu)化問題,本書可作為企事業(yè)單位中從事生產(chǎn)制造、物流信息化、人力資源優(yōu)化等工作的IT人員研究計(jì)劃、排程與優(yōu)化的指導(dǎo)書,也可以作為POEM軟件平臺配套的參考手冊。
書籍目錄
前言第1章 NCL與求解系統(tǒng) 1.1 求解系統(tǒng) 解算器(SOLVER) 語法分析器(PARSER) 規(guī)則(RULES) 1.2 NCL語言簡介 自然建模(NATURAL MODELING) 混合集合規(guī)劃(MIXED SET PROGRAMMING) 求解規(guī)則(SEARCH RULES) NCL是聯(lián)合求解系統(tǒng) 1.3 基于NCL的POEM平臺第2章 NCL的詞法 2.1 常規(guī)詞法 字符 標(biāo)識符 特殊標(biāo)識符 常量 未確定值 注釋 2.2數(shù)學(xué)編碼 數(shù)學(xué)符號一覽表 函數(shù)一覽表 TEX聚合符 2.3 數(shù)據(jù)類型 廣義數(shù)據(jù)類型 邏輯推理的數(shù)據(jù)精度 集合類型 日期/時(shí)間類型 缺省值 數(shù)據(jù)示例第3章 NCL的語法及語義 3.1 NCL的常規(guī)邏輯 語句(STATEMENT) 量詞(QUANTIFICATION) 索引(INDEX) 條件句(CONDITIONAL) 約束(CONSTRAINT) 表達(dá)式(EXPRESSION) 浮點(diǎn)數(shù)表達(dá)式(FLOAT EXPRESSION) 整數(shù)表達(dá)式(INTEGER EXPRESSION) 字符串(STRING) 邏輯指針(REFERENCE) 集合表達(dá)式(SET EXPRESSION) 布爾表達(dá)式(BOOLEAN EXPRESSION) 聚合式(AGGREGATION) 常量(CONSTANT) 輸入/輸出的格式(INPUTAND OUTPUT FORMAT) 日期/時(shí)間格式(DATE/TIME FORMAT) 日期/時(shí)間的屬性函數(shù)(DATE/TIME ATTRIBUTE) 變量(VARIABLE) 匿名變量(ANONYMOUS VARIABLE) 連綴(CONCATENATION) 個性化消(CUSTOM MESSAGE) 軟約束(SOFT CONSTRAINT) 數(shù)據(jù)源(DATA POOL) 輸入/輸出的指定(I/O SPECIFICATION) 輸出(PRINT) 宏調(diào)用(INCLUDE)3.2 NCL的時(shí)態(tài)邏輯 系統(tǒng)變量(SYSTEM VARIABLE) 抽?。‥XTRACTION) 賦值(ASSIGNMENT) 跳轉(zhuǎn)(GOTO) 子模型(SUB MODEL) SQL語言接口 操作系統(tǒng)的OS命令(OS COMMAND) 期待約束(EXPECTATION CONSTRAINT)3.3 NCL的求解邏輯 切削與搜索(CUTAND SEARCH) 查詢與搜索(QUERYAND SEARCH) 枚舉方式(ENUMERATION MODE) 查詢準(zhǔn)則(QUERY CRITERIA) 優(yōu)化目標(biāo)(OPTIMIZATION OBJECTIVE) 求解過程的示范 對求解的系統(tǒng)控制 3.4 消息與跟蹤管理 NCL消息(NCL MESSAGE) 終止?fàn)顟B(tài)(TERMINATION STATUS) 可編程的暫停(PROGRAMMED BREAK) 可編程的調(diào)試(PROGRAMMED DEBUGGING) 消息處理器(MESSAGE HANDLER) 3.5 NCL的語法范例 布爾邏輯(BOOLEAN LOGIC) 無窮大(INFINITY) 數(shù)值約束(NUMERIC CONSTRAINTS) 集合推理(SET REASONING) 量詞(QUANTIFICATION) 混合集合規(guī)劃示例(MIXED SET PROGRAM) 分支(SWITCH) 規(guī)則(RULE) 優(yōu)化目標(biāo)(OPTIMIZATION OBJECTIVE) 輸入,輸出機(jī)制(I/O FACILITIES) 查詢及搜索(QUERY AND SEARCH) 跳轉(zhuǎn)(GOTO) 聚合(AGGREGATION) 用作下標(biāo)的指針(REFERENCE SUBSCRIPTS) 被引用的運(yùn)算式(REFERENCED OPERATORS) 連綴(CONCATENATION) 日期/時(shí)間的管理(DATE/TIME MANAGEMENT) 抽取及時(shí)態(tài)邏輯(EXTRACTION AND TEMPORALLOGIC) 賦值(ASSIGNMENT) 子字符串及集合的元素(SUBSTRING AND ELEMENTS FROM SET) 獲取集合的分段區(qū)間(OBTAINING PIECEWISE INTERVALS FROMA SET) 個性化消息(CUSTOM MESSAGE) 內(nèi)存緩沖區(qū)數(shù)據(jù)源(BUFFER POOL) 存儲于文件的子模型(SUB MODEL IN A FILE) 存儲于內(nèi)存緩沖區(qū)的子模型(SUB MODEL IN A BUFFER PooL) 子模型的返回值(RETURN VALUES oFA SUB MODEL) 嵌套調(diào)用(NESTED CALL) 子模型調(diào)用溢出(OvERFLoW INA SUB MODEL CALL) 數(shù)據(jù)庫連接及SQL查詢(DATABASECONNECTIONAND SQL QLTERY) 操作系統(tǒng)OS命令(OS COMMAND) 匿名變量及缺省值(ANONYMOUS VARlABLES AND DEFAULT VALUES) 系統(tǒng)變量(SYSTEM VARIABLE) 軟約束(SOFIT CONSTRAINT) 用期待約束進(jìn)行程序調(diào)試(PROGRAMMED DEBLIGGING WITH EXPEC TATION CONSTRAINTT第4章 NCL語言的開發(fā)平臺POEM@ 4.1 POEM的主界面 工具欄(TooL BAR) TEX符號欄 工作區(qū)(WORKSPACE) 編輯窗(EDIT WINDOW) 跟蹤窗(TRACE WINDOW) 4.2 項(xiàng)目配置 NCL的數(shù)據(jù)源 NCL的參數(shù)配置 項(xiàng)目配置窗 4.3 模型夾及模型庫 模型夾(MODEL FoLDER) NCL模型庫(MODELLIBRARY) 4.4 信息表 現(xiàn)行模型表(RUNNING MODELS) 常量表(CONSTANTS) 變量表(VARIABLES) 約束表(CONSTRAINTS) 4.5 視圖及調(diào)試 快捷查視(QUICK WATCH) 瀏覽器(BROWSER) 約束調(diào)試器(CONSTRAINT DEBtIGGER) 可視化調(diào)試器(VISUAL DEBUGGER) 結(jié)果可視化窗(SoLUTION VIEWER) 4.6 跟蹤窗與工作模式 調(diào)試模式(DEBUG MODE) 計(jì)時(shí)模式(TIMER MODE) 跟蹤級別(TRACE LEVEL) 診斷信息的選項(xiàng)窗 統(tǒng)計(jì)信息的選項(xiàng)窗 推薦的模型診斷模式 推薦的正常工作模式 4.7 在線幫助第5章 建模及求解 5.1 工程化建模 建模步驟 變量的命名公約 主動式模型改進(jìn) 被動式模型改進(jìn) 5.2 NCL的模型抽象 兩兩不等的整數(shù)(DISTINCT INTEGERS) 兩兩不交的集合(DISJOINT SETS) 排序(SORTING) 集合的覆蓋與劃分(SET COVERING AND PARTITIONING) 拼排(PACKING) 有限能力(FINITE CAPACITY) 求和(SUM) 二維累積(CUMULATION) 5.3 智力游戲(PIJZZlLES) 字謎(SEND MORE MONEY) 素?cái)?shù)問題(PRIMES) 整數(shù)排序(INTEGER SORTING) 皇后問題(QUEENS) 神奇的方塊(MAGIC SQUARE) 數(shù)獨(dú)(SUDOKU) 神奇的序列(MAGIC SEQUENCE) 愛因斯坦的游戲題(EINSTEIN'S QUIz) 數(shù)謎(CALCULS D'ENFER) 方塊拼排(SQUIARE PACKING) 騎士問題(KNIGHT) 5.4 求解復(fù)雜問題 集合劃分(SET PARTITIONING) 高爾夫球?qū)官悾℅OLF TOURNAMENT) 賽舟會(PROGRESSIVE PARTY) 貨船裝載(SHIP LOADING) 車間排序(JoB-SHOP SCHEDULING) 最小化熱能轉(zhuǎn)換器的能耗(MINIMIZINGTHECOST OFA HEATEXCHANGER) 帶時(shí)間窗的取貨與送貨(PICKUP AND DEIJIVERY WITH TIME WINDOWS) 練習(xí)題 5.5 松弛邏輯與二次優(yōu)化 交互邏輯(INTERACTION LOGIC) 迭代優(yōu)化(ITERATIVE OPTIMIZATION) 旅行商問題的迭代優(yōu)化方法(ITERATIVE OPTIMIZATION FOR TSP) TSP的練習(xí)題第6章 NCL的工業(yè)應(yīng)用 6.1 生產(chǎn)排程 問題定義 數(shù)據(jù)邏輯 簡化的優(yōu)化模型 時(shí)間的可視化工具:甘特圖(GANTT CHART) 練習(xí)題 6.2 人員排班計(jì)劃 問題定義 數(shù)據(jù)邏輯 簡化的優(yōu)化模型 統(tǒng)計(jì)信息的可視化工具:直方圖(HISTOGRAM) 練習(xí)題 6.3 多式聯(lián)運(yùn)優(yōu)化 問題定義 數(shù)據(jù)邏輯 簡化的優(yōu)化模型 地理信息的可視化工具:地圖(MAP) 練習(xí)題參考文獻(xiàn)附錄1 NCL語法的TEX編碼附錄2 ComPoem ACtiveX組件英文索引中文索引
章節(jié)摘錄
第1章 NCL與求解系統(tǒng) 1.1 求解系統(tǒng) 約束滿足問題(constraint satisfaction Problem)在日常生活與工作中無處不在,很多都屬于NP困難(NP-hard)型。復(fù)雜性理論(complexity Theory)表明,除非P類問題等于NP類問題,一個問題如果是NP完備型(或NP困難型)則意味著不存在求解此問題的多項(xiàng)式時(shí)間的算法(Lenstra and Kan,1979)?! ”緯赜懻撫槍s束滿足問題的求解系統(tǒng)的三項(xiàng)關(guān)鍵技術(shù):語法分析器(Parser)、解算器(S01ver)、規(guī)則(Rules)。之所以論述這三項(xiàng)技術(shù),是因?yàn)樗鼈兎謩e涉及數(shù)學(xué)建模、解算及對求解的規(guī)范。以下先介紹求解系統(tǒng)最核心的解算器,再論述語法分析器及規(guī)則?! 〗馑闫鳎⊿oLvER) 解算器是求解系統(tǒng)的核心,一方面它是一個算法引擎,另一方面它是一個推理系統(tǒng)。本書著重介紹邏輯化、工業(yè)化的求解系統(tǒng)。 運(yùn)籌學(xué)與線性規(guī)劃 運(yùn)籌學(xué)是系統(tǒng)研究經(jīng)濟(jì)、軍事等活動中有關(guān)決策、管理的問題的一門科學(xué)。提到運(yùn)籌學(xué),就不免提到線性規(guī)劃(Linear Programming)一一求解以線性函數(shù)為優(yōu)化目標(biāo)的線性約束系統(tǒng)的技術(shù)?! ?/pre>圖書封面
圖書標(biāo)簽Tags
無評論、評分、閱讀與下載
- 還沒讀過(61)
- 勉強(qiáng)可看(446)
- 一般般(762)
- 內(nèi)容豐富(3159)
- 強(qiáng)力推薦(259)