NCL语言和POEM系统是一种全新的计算机语言及其开发工具,它采用数理逻辑语言描述问题业务逻辑,是快速解决问题的智能化建模优化工具。本书全面描述了NCL语言的语法、建模流程和POEM系统的配置与操作。通过在生产与物流的管理中处理问题、建模、优化计算解决问题、结果可视化演示、系统集成等内容的案例分析,使读者在掌握NCL语言和POEM平台的同时,获得分析复杂实际问题的数理逻辑建模和混合集合规划方法,提高分析问题和建模优化的能力。
本书共分10章,第1章介绍POEM平台及其核心NCL语言; 第2章详细讲解NCL语言的基本体系和原理方法; 第3章介绍NCL语言的开发平台POEM的使用方法; 第4章讲解NCL建模和求解的方法及过程; 第5章介绍POEM的可视化功能PoemView; 第6章为NCL的优化逻辑实例分析; 第7~9章分析NCL语言在解决生产排程、多式联运及人力资源安排等实际问题中的建模优化应用分析过程; 第10章讲解POEM系统与其他软件集成的方法。
本书可作为高等院校系统工程、管理科学与工程、计算机及相关工程技术、管理类专业本科生或研究生的教材,也可作为从事管理及工程技术等方面工作的人员培训和科学研究参考用书。
进入21世纪,由我国留法学者周建阳博士发明的智能化NCL语言及其开发工具POEM问世。NCL是一种全新的智能化逻辑建模优化工具,它面向高层次建模,省去繁复的底层算法分析,能够快速解决管理建模和智能优化问题。POEM作为智能化的建模优化工具,为分析问题、优化方案、解决问题发挥出越来越大的作用。这一成果得到了科技界和企业界的认可和重视,并获得广泛应用。
作者在2008年的一次全国学术交流会议上第一次接触NCL,立即被NCL的智能化逻辑建模优化功能所吸引,之后将NCL及POEM平台应用到科研与教学的工作中。NCL语言强大的智能逻辑推理功能和建模编程的简洁自然使用户能够专心问题内在逻辑的研究,而编程融在逻辑建模的分析过程之中,大大减轻了将模型翻译成计算机程序的工作量,省去了底层算法分析。所以,从事管理和专业技术工作人员都可以轻松地学习使用NCL语言,减少对专业编程人员的依赖,构建出解决各自专业领域问题的模型程序。同时,NCL的组件及计算服务器功能又能够非常容易地将所建立的解决各种问题的模型程序嵌入到专业信息系统或决策支持系统程序中,为各种专业问题及管理优化决策问题提供分析平台。作者在积极推进NCL语言教学的过程中,感到非常需要编写一本适合初学者的教材,将NCL强大的功能和优势传播给更多的人,让各领域专业人员自然地构建处理专业问题的模型程序,解决遇到的各种问题; 让软件专业人员能够更加方便灵活地集成实际复杂问题的业务逻辑,构建适应性强的软件系统框架,编出功能强大、界面友好、人机互动的应用软件。
作者已经在北京理工大学管理与经济学院为本科生开设了“NCL语言与POEM优化计算实验”课程。出版NCL语言及应用教材的想法得到了NCL语言发明者周建阳博士及其团队的赞同和帮助,他们为作者提供了大量的相关资料。作者于2011年6月着手准备,历经了NCL语言的开发工具POEM由2.9版到3.2版,由32位系统到64位系统的升级过程,经过初稿和多次修改,将NCL语言、可视化功能Poem View、系统集成等全面地展示在读者面前,将教学中的经验、体会融入教材中。
本书全面描述NCL语言的语法、建模流程和POEM系统的配置与操作。通过在生产与物流的管理中处理解决问题、建模优化计算、结果可视化演示、系统集成等内容的案例分析,使读者在掌握NCL语言和POEM平台的同时,获得分析问题和建模优化的实际方法,提高自身的能力。
本书共分10章,第1章绪论,介绍POEM平台及其核心NCL语言; 第2章自然约束语言NCL,详细讲解NCL语言基础、基本语句规则和求解搜索机制; 第3章NCL编程平台POEM,介绍NCL语言开发平台POEM的过程配置、模型库、信息表、程序调试等使用工具和方法; 第4章基于NCL的建模和求解,讲解NCL建模的工程化方法、求解组合问题模型抽象和混合集合约束推理与规划的案例分析过程; 第5章POEM图形,介绍PoemView图形交互对象及其应用; 第6章NCL优化逻辑实例分析,讲解5个NCL优化逻辑案例; 第7~9章分析NCL语言在处理生产排程、多式联运及人力资源安排等实际问题中的建模优化应用过程; 第10章讲解POEM组件和计算服务器与其他软件集成的方法。
通过本书的学习,读者可掌握NCL语言和POEM软件工具,获得分析复杂实际问题的数理逻辑建模和混合集合规划方法,提高建模分析和优化求解能力,快速解决实际工作中的问题,提高工作效率和水平。
最后,欢迎读者提出宝贵的意见和建议,邮箱zxf200303@bit.edu.cn。
作者
2013年8月于北京
第1章绪论
1.1NCL与开发平台POEM
1.2NCL框架
1.2.1NCL语言类型与特点
1.2.2NCL语言算法体系
1.2.3NCL语言功能
1.3POEM功能
1.4POEM操作
1.4.1POEM运行环境和安装文件
1.4.2POEM界面
1.4.3在线帮助
1.5基于POEM的问题处理过程
第2章自然约束语言NCL
2.1NCL语言基础
2.1.1NCL基本词法
2.1.2NCL变量和数据类型
2.1.3NCL数学符号编码
2.1.4NCL数学表达式与函数
2.2NCL基本句法规则
2.2.1NCL程序结构
2.2.2NCL程序控制机理
2.2.3NCL声明语句
2.2.4NCL基本语句
2.2.5NCL控制语句
2.3NCL程序求解机制
2.3.1NCL程序求解阶段
2.3.2NCL程序求解规则
2.3.3NCL程序求解示例
第3章NCL编程平台POEM
3.1POEM工程配置
3.2POEM模型夹及模型库
3.3POEM信息表
3.4POEM查看与调试
3.5POEM跟踪窗与工作模式
3.5.1POEM跟踪模式
3.5.2POEM跟踪窗口的信息及识别
3.5.3POEM消息与管理
第4章基于NCL的建模和求解
4.1工程化建模
4.1.1工程化建模的基本思想
4.1.2工程化建模系统的集成
4.2组合问题模型抽象
4.3NCL混合集合约束推理与规划
4.3.1混合集合约束推理
4.3.2规划问题求解
第5章POEM图形
5.1PoemView图形对象类型
5.2基本图形对象
5.3复合(高级)图形对象
5.4Script对象
第6章NCL优化逻辑实例分析
6.1高尔夫球对抗赛日程
6.2货船装载任务安排
6.3车间任务排序
6.4带时间窗的取货与送货
6.5松弛逻辑与二次优化
第7章生产排程优化
7.1问题描述
7.1.1制造企业生产排程的概念
7.1.2复杂产品制造企业生产调度的特点
7.2问题业务逻辑分析
7.2.1系统元素对象及其逻辑关系分析
7.2.2生产排程问题的目标和约束条件
7.3生产排程优化建模
7.3.1优化目标
7.3.2约束条件
7.4数据逻辑分析
7.4.1资源类及属性
7.4.2作业任务类
7.4.3工序类
7.5NCL建模
7.6输入数据及输出结果
第8章多式联运优化
8.1业务逻辑
8.1.1问题描述
8.1.2优化问题分析
8.2数据结构
8.2.1数据逻辑
8.2.2数据输入
8.3NCL建模
8.4案例实验
8.4.1案例数据信息
8.4.2案例结果
第9章人力资源优化
9.1业务逻辑
9.1.1问题描述
9.1.2优化问题分析
9.2数据结构
9.2.1数据逻辑
9.2.2数据输入
9.3NCL建模
9.4案例实验
9.4.1数据信息
9.4.2案例结果
第10章POEM系统与其他软件的集成方法
10.1POEM ActiveX控件
10.1.1ActiveX及应用
10.1.2基于C#的ActiveX控件集成
10.1.3ComPoem优化计算组件
10.1.4PoemView可视化组件
10.2POEM计算服务器
10.2.1PoemServer介绍
10.2.2PoemServer界面
10.2.3PoemServer配置
10.2.4Script对象内容及与PoemServer的接口示例
10.2.5通过URL方式访问PoemServer示例
10.3系统集成示例
10.3.1C#与ComPoem、ComView及PoemServer的集成说明
10.3.2用C# 构建PoemServerComView项目
参考文献
后记