教学课件:第七章-ILOG-OPL-界面.ppt
《教学课件:第七章-ILOG-OPL-界面.ppt》由会员分享,可在线阅读,更多相关《教学课件:第七章-ILOG-OPL-界面.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主讲人:雒兴刚东北大学系统工程研究所Email: Tel:83682292优化软件与应用优化软件与应用第七章 OPL 界面IDE 介绍IDE 是什么:是什么:integrated development environment(IDE)for mathematical programming and combinatorial optimization applications.It is the graphical user interface(GUI)for the OPL modeling language and the ILOG Script for OPL scripting la
2、nguage.第七章 OPL 界面IDE 介绍IDE能做什么:能做什么:Create and modify model,data,and project files using the editing capabilities Execute a project Generate a compiled model Generate external data files or calculated data files to various formats Visualize OPL results in text or tabular form Visualize the state of
3、variables at some point during the search for a solution Set GUI options and mathematical programming options Connect to a database or to a spreadsheet to read and write data Work with ILOG Script for OPL,the scripting language Profile the execution of a model Search for relaxations of variables and
4、 constraints,and for conflicts between constraints Debug scripts using the debug facilities 第七章 OPL 界面IDE 介绍IDE 环境处理三种文件:环境处理三种文件:model files,data files,and project filesModels:保持:保持OPL语句及语句及ILOG脚本,后缀是脚本,后缀是.mod。也可以生成编译后的。也可以生成编译后的模型格式,后缀是模型格式,后缀是.opl。Data:对于较大规模问题,可以分离数据之数据文件对于较大规模问题,可以分离数据之数据文件(.d
5、at),数据文件中也,数据文件中也可以说明外部数据源,如可以说明外部数据源,如Excel文件或文件或ODBC数据库源等。数据库源等。Projects:文本格式,:文本格式,XML表示。说明表示。说明project关联的模型和数据文件。类关联的模型和数据文件。类似似VC的工程文件。的工程文件。第七章 OPL 界面IDE 介绍创建新文件:创建新文件:第七章 OPL 界面IDE 介绍运行项目:运行项目:如何检查语法:如何检查语法:运行项目后,出错的语运行项目后,出错的语法会以红色标识。修改法会以红色标识。修改错误后,继续运行项目。错误后,继续运行项目。第七章 OPL 界面IDE 介绍查看运行结果:查
6、看运行结果:Solution TAB显示运行的结果。显示运行的结果。CPLEX statistics显示算法的具显示算法的具体运行参数。当然,可以通过体运行参数。当然,可以通过Options设置显示的项。设置显示的项。第七章 OPL 界面IDE 介绍产生一个编译的产生一个编译的opl文件:文件:File-Generate Compiled Model File第七章 OPL 界面IDE 介绍IDE文本编辑的特色:文本编辑的特色:MDI approach;Syntax coloring;Multiple levels of Undo and Redo;Automatic indentation
7、Blocks:as delimited by curly brackets;Bracket(or brace)matching;When typing,or),highlighted;Margin symbols the yellow arrow that indicates the current line the red box that indicates an error the red circle that indicates a breakpoint Reload prompt:If you modify a file with an external editor,you ar
8、e prompted to reload Customization:options to customize the editor第七章 OPL 界面IDE 介绍数据库支持:数据库支持:OPL通过通过ILOG DBLink 5.0 支持支持RDBMS;支持的数据库类型:支持的数据库类型:OPL数据库支持通过函数数据库支持通过函数DBconnection 来实现,该函数主要有两个参数:来实现,该函数主要有两个参数:the database client you want to use:e.g.oracle81the connection string:e.g.scott/tigerilog“后
9、面我们有一个详细的数据库连接的例子。后面我们有一个详细的数据库连接的例子。第七章 OPL 界面IDE 介绍为什么使用为什么使用ILOG 脚本?脚本?Add preprocessing to prepare data for the model Control the flow while solving the model Set CPLEX parameters Add postprocessing to aggregate,transform,and format data(including results data)for display or for sending to anoth
10、er application,for example,a spreadsheet Solve repeated instances of the same model Feedback:Create algorithmic solutions where the output of one model instance is used as the input of a second model instance第七章 OPL 界面IDE 介绍ILOG 脚本的入口点脚本的入口点The main statement for a flow control script The execute st
11、atement for preprocessing and postprocessing scripts 没有独立的脚本文件;脚本文件总是和模型文件结合使用没有独立的脚本文件;脚本文件总是和模型文件结合使用第七章 OPL 界面例:IDE Project1、在、在IDE界面中,界面中,FileNewProject.红色的星号表示是必选项。选择红色的星号表示是必选项。选择Location为为C:Temp,在项目,在项目Name中键中键入入MyProject;可以看到系统自动命名可以看到系统自动命名mod文件和文件和dat文件为文件为MyProject。用户也可以对其名。用户也可以对其名称进行修改,
12、或者点选其右面的图标,称进行修改,或者点选其右面的图标,选择一个现有的文件添加到本项目中;选择一个现有的文件添加到本项目中;注意一个项目中注意一个项目中mod文件只有文件只有1个,个,dat文件可以有多个;文件可以有多个;点击点击“Create Project”,可以看到系统,可以看到系统在在C:Temp下创建了两个文件,下创建了两个文件,Project窗口如右图。窗口如右图。第七章 OPL 界面例:IDE Project2、拷贝下面的代码到、拷贝下面的代码到mod文件中,保存文件中,保存.string Products=.;string Resources=.;tuple ProductDa
13、ta float demand;float insideCost;float outsideCost;float consumptionResources;ProductData productProducts=.;float capacityResources=.;dvar float+insideProducts;dvar float+outsideProducts;execute CPX_PARAM cplex.preind=0;cplex.simdisplay=2;minimize sum(p in Products)(productp.insideCost*insidep+produ
14、ctp.outsideCost*outsidep);subject to forall(r in Resources)sum(p in Products)productp.consumptionr*insidep=productp.demand;第七章 OPL 界面例:IDE Project3、如图,选择、如图,选择“Add new data file”,选择和,选择和project文件相同的文件夹,输文件相同的文件夹,输入文件名称入文件名称MyProject.dat,保存,保存.第七章 OPL 界面例:IDE Project4、双击、双击MyProject.dat,将下面的代码拷贝到右侧的编
15、辑区,保存。,将下面的代码拷贝到右侧的编辑区,保存。运行文件,结果如图运行文件,结果如图.Products=kluski,capellini,fettucine;Resources=flour,eggs;product=#kluski:,capellini:,fettucine:#;capacity=20,40;注意:项目可以有多个注意:项目可以有多个dat文件。一个文件。一个dat中的变量定义可能参考另一个中的变量定义可能参考另一个dat文件,文件,IDE调取调取dat文件的顺序是从上到下。因此,可以通过点选文件的顺序是从上到下。因此,可以通过点选dat文件右文件右键菜单的键菜单的move
16、up来调整顺序。来调整顺序。另外,从项目中移除一个文件也可以通过右键菜单来实现。另外,从项目中移除一个文件也可以通过右键菜单来实现。第七章 OPL 界面例:IDE Project另外,另外,IDE也支持同时打开多个项目。例如,图中打开了也支持同时打开多个项目。例如,图中打开了4个项目,红色的、个项目,红色的、单选框选中的是当前项目。单选框选中的是当前项目。当前项目可以通过右键菜单中的当前项目可以通过右键菜单中的“set as active project”来设定。来设定。第七章 OPL 界面例:IDE Project5、在、在execute处设置一个断点,然后运行项目。处设置一个断点,然后运行
17、项目。和高级语言的和高级语言的Debug按钮类似:按钮类似:停止运行停止运行暂停(当程序暂停(当程序长时间运行时)长时间运行时)继续运行继续运行Step intoStep outStep overRun to cursor第七章 OPL 界面例:IDE Project6、取消断点,继续运行项目。、取消断点,继续运行项目。下面以这个例子的结果为例,介绍下面以这个例子的结果为例,介绍IDE的界面元素。的界面元素。首先是首先是Output窗口中的窗口中的Console标签页:标签页:如果编译出错,则显示语法错误;如果求解成功显示最优解状态如果编译出错,则显示语法错误;如果求解成功显示最优解状态第七章
18、 OPL 界面例:IDE ProjectOutput窗口中的窗口中的Solution标签页:标签页:显示局优解显示局优解partial solutions(如果有如果有)和最优解。下面是另一个例子的结果。和最优解。下面是另一个例子的结果。第七章 OPL 界面例:IDE ProjectOutput窗口中的窗口中的Infeasibility标签页:标签页:因为本例有解,所以标签页为空白。下面是另一个例子的结果。因为本例有解,所以标签页为空白。下面是另一个例子的结果。第七章 OPL 界面例:IDE ProjectOutput窗口中的窗口中的CPLEX Log标签页:标签页:显示显示CPLEX求解过程
19、中的日志信息,包括每个迭代过程的换基过程求解过程中的日志信息,包括每个迭代过程的换基过程第七章 OPL 界面例:IDE ProjectOutput窗口中的窗口中的CPLEX Statistics标签页:标签页:显示显示CPLEX求解的各种统计信息,包括变量个数、约束个数、算法类求解的各种统计信息,包括变量个数、约束个数、算法类型、迭代次数等等。型、迭代次数等等。第七章 OPL 界面例:IDE ProjectOutput窗口中的窗口中的Profiler标签页:标签页:右面是执行步骤,左面是计算时间和使用内存。通过分析这些信息,右面是执行步骤,左面是计算时间和使用内存。通过分析这些信息,可以改进模
20、型(缩短时间和减少内存)可以改进模型(缩短时间和减少内存)第七章 OPL 界面例:IDE ProjectProfiler标签页中,执行步骤主要分为以下两类:标签页中,执行步骤主要分为以下两类:左面的计算时间和使用内存的含义见下表:左面的计算时间和使用内存的含义见下表:第七章 OPL 界面例:IDE ProjectOutput窗口中的窗口中的Log标签页:标签页:显示运行日志信息。显示运行日志信息。第七章 OPL 界面例:IDE Project模型窗口显示如图。模型窗口显示如图。下面介绍下面介绍IDE的模型窗口。的模型窗口。7、关闭当前项目。、关闭当前项目。第七章 OPL 界面例:IDE Pro
21、ject可以显示模型的类型、常量、变量、可以显示模型的类型、常量、变量、变量的初始化数据。变量的初始化数据。8、重新调入刚才的项目,运行项目。、重新调入刚才的项目,运行项目。用鼠标点选用鼠标点选Data或者或者Variables中的中的变量或常量变量或常量,下面的,下面的Property和和Value会显示相应的值;同时,右会显示相应的值;同时,右面的编辑区也会定位的模型的相关面的编辑区也会定位的模型的相关代码处。代码处。第七章 OPL 界面例:IDE Project9、修改模型代码如下,然后重新运行项目。、修改模型代码如下,然后重新运行项目。constraint ct1;constraint
22、 ct2;subject to ct1=forall(r in Resources)sum(p in Products)productp.consumptionr*insidep=productp.demand;注意到前面的模型窗口中,注意到前面的模型窗口中,Contraints没有详细的信息。这是因为没有详细的信息。这是因为mod文件中没有给约束命名。文件中没有给约束命名。第七章 OPL 界面例:IDE Project现在可以看到详细的约束信息(打开小加号):现在可以看到详细的约束信息(打开小加号):另外,在模型窗口中,也可以双击元素,可以弹出窗口,显示详细信息。另外,在模型窗口中,也可以双
23、击元素,可以弹出窗口,显示详细信息。第七章 OPL 界面例:IDE Project下面再介绍一点下面再介绍一点IDE的选项设置。的选项设置。10、如图方式选择;或者从菜单选择、如图方式选择;或者从菜单选择OptionsProject Options 第七章 OPL 界面例:IDE Project选择选择 OPL Language下的下的General,右面的,右面的Display Solution不选。不选。重新运行项目,将只显示最优目标。重新运行项目,将只显示最优目标。第七章 OPL 界面IDE 界面详解IDE主环境主环境脚本对象浏览器脚本对象浏览器菜单菜单主工具栏主工具栏执行工具栏执行工具
24、栏项目项目 浏览器浏览器模型模型 浏览器浏览器输出输出 窗口窗口编辑区域编辑区域状态显示状态显示当前行和列当前行和列状态显示状态显示第七章 OPL 界面IDE 界面详解菜单命令详解菜单命令详解File菜单菜单NewCreatesanewfile.Displaysasubmenutospecifyamodel,project,ordatafile.OpenOpensafile.Displaysasubmenutospecifyamodel,project,ordatafile.Ineachcase,theIDEdisplaysanOpenFiledialogboxrequestingthefil
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 第七 ILOG OPL 界面
限制150内