项目 ·一个最小的项目有 一一个模型文件 一对于同一模型文件的一个缺省的运行配置 一个典型的项目有 一一个或多个模型文件 一任意数量的数据文件(或者没有数据文件) 一一个或多个设置文件 一个或多个运行配置,以设定这些模型、数据 和设置文件的不同组合
项目 • 一个最小的项目有 – 一个模型文件 – 对于同一模型文件的一个缺省的运行配置 • 一个典型的项目有 – 一个或多个模型文件 – 任意数量的数据文件(或者没有数据文件) – 一个或多个设置文件 – 一个或多个运行配置,以设定这些模型、数据 和设置文件的不同组合
Execution Standard Document toolbar Outline toolbar toolbar If active,reflects the structure Tooltips or Help of the selected file. ILOG OPL Development Studio IDE-[c:IILOG\OPL51 lexampleslopllscalableWarehouse.mod] ▣☒ Menu bar Ele Edit yiew Eecution Window Hep -8X ,色P品P卜峰© Projects window with 日国9×的B色明身 toolbar 。自p.晚回 Projects A Model Outline Lists 审审音甘,算可车耳,⑦ 2//The scalable warehouse example ha ☑Detailed 3//so that the search is long enough ☑Active projects 日由scalablewarehouse.pri(A warehouse h//The resulting size is greater tha 曰目scalablewarehouse.mod EscalableWarehouse mod models,data. 5//You therefore need a valid licens 日=Preprocessing 白康Run Configutations 6//See the Licensing Scheme docunent 日0品Data settings,and Configurationl 7 ■Capacity 8 int Fixed =10: run configs Foced 9 int NbWarehouses 50; e NbStores 10 int NbStores =20日; eNbWarehouses Problem Browser for scalablewarehouse.moc 11 Stores No Solution 7) 12 assert(NbStores NbWarehouses ) SupplyCost 13 Problem Name Value 1h range Warehouses -1..NbWarehouses; Watehouses Browser 日e Data 15range Stores Decision variables 1..NbStores; 日Capacty [5674567451 16 int Capacity[w in Warehouses] Open ”Fixed 10 17 NbStores div NbWarehouses+ Supply Displays NbStores 200 18 w nod NbStores div NbWarehouses 白Decision expressions o TotaFixedCost problem NbWarehouses 50 19 int SupplyCost[s in Stores][w in War Stores [1.200] 281+((5+10#u)100): instance, 三Type8 日SupplyCost Clck to display 21 dvar int Open[Warehouses]in 0..1; solution 22 dvar Float Supply[Stores][Warehouses Warehouses [1,.50] 23 dexpr int TotalFixedCost sun(w in values,and 2h dexnr Flnat TntalSunnluCnst Property Value sensitivity 。0fala0erod0 warning data. Description Type Doc Source Output lguesComsole Solions Conficts and Relaxations Engine Log Engine Statistics Profler window nning. e000:06e260 Displays Status box solutions,error Status bar Current cursor position Editing area messages,solver Displays the duration and profiling info, For model,data, of the modeling and conflicts,and more. and settings solving process
OPL数据类型和决策变量类型 ·OPL数据类型 -int-整型变量 -float--浮点型变量 -string-字符串变量 ·OPL决策变量类型 -dvar int--整数决策变量 -dvar float-浮点型决策变量
OPL 数据类型和决策变量类型 • OPL 数据类型 – int—整型变量 – float—浮点型变量 – string—字符串变量 • OPL 决策变量类型 – dvar int—整数决策变量 – dvar float—浮点型决策变量
OPL使用的4种数据结构 数据结构 描述 例子 或setof[ 数据集。为了定义数据集,指 int)mylntegerSet ={1,2, 定的数据类型包含在大括号中。 3; {string}weekendDays “Saturday",”Sunday"; Range, 范围定义。可以是整数型范围 Range weeks =1..52; range float 或浮点数范围。 Range float x=1.0..73.852 或(数组) 数组可以具有任意类型,包括 tupleType tuple。一个数组范围可以 myEvents[weekendDays] 由固定范围、整数范围或一个 [weeks]; 集合来定义,也支持多维数组。 Tuple 允许用户自己定义数据类型的 Tuple myEvents{ 数据结构。它可用来创建可快 String name; 速求解的模型。 String location;}
OPL 使用的 4 种数据结构 数据结构 描述 例子 {}或setof{} 数据集。为了定义数据集,指 定的数据类型包含在大括号中。 {int} myIntegerSet = {1,2, 3}; {string} weekendDays = {“Saturday” , ”Sunday”}; Range, range float 范围定义。可以是整数型范围 或浮点数范围。 Range weeks = 1..52; Range float x=1.0..73.852 []或(数组) 数组可以具有任意类型,包括 tuple 。一个数组范围可以 由固定范围、整数范围或一个 集合来定义,也支持多维数组。 tupleType myEvents[weekendDays] [weeks]; Tuple 允许用户自己定义数据类型的 数据结构。它可用来创建可快 速求解的模型。 Tuple myEvents{ String name; String location; };
数据重复运算符 在约束条件和目标函数中的表达式和算术项, 常常需要针对不同的数据重复计算多次。 这些操作是相同的,不同的是它们的下标。 OPL提供了两种方式来处理这种情况: 。Forall是通用quantifier ·它允许用户通过一个下标进行迭代运算 -为不同下标的每一个变量生成一个约束条件
数据重复运算符 在约束条件和目标函数中的表达式和算术项, 常常需要针对不同的数据重复计算多次。 这些操作是相同的,不同的是它们的下标。 OPL 提供了两种方式来处理这种情况: • Forall 是通用quantifier – 它允许用户通过一个下标进行迭代运算 – 为不同下标的每一个变量生成一个约束条件