原创 LocalSolver快速入门指南(连载十四) ---- LocalSolver建模功能特色

LocalSolver建模功能特色

本节首先介绍LocalSolver中可用的所有建模操作符。然后详细介绍了LocalSolver的一些强大功能,如基于集合的建模(set-based modeling)或外部函数。

数学建模功能

数学操作符

分段运算符

列表和集合变量

兰姆达表达式

外部函数

黑盒优化

车辆路由问题的模型指导

数学建模功能

Decision variables(决策变量)

LocalSolver明确区分了决策变量和中间表达式。决策变量是不能从其他变量或表达式中推导出或计算出的变量。当您使用LocalSolver时要问的首要问题是,我想做的最基本的决定(原子决定)是什么?

On the opposite, the total weight of elements in the bag, defined as sum[i in 0..nbItems-1](values[i] * x[i]) is a typical intermediate expression: its value can be deduced from decision variables.

与其他优化技术(如线性规划或约束规划)相比,这方面可能有点令人不安,但它对底层算法的性能非常重要。例如,在背包问题中,决策只有布尔变量x[i]等于1(如果对象i在包中)或0(否则不在包中)。相反,袋中元素的总重量,定义为sum[i in 0..nbItems-1]values[i] * x[i])是一个典型的中间表达式:其值可以从决策变量中推导出来。

LocalSolver有五种决策变量类型:布尔、浮点、整数、集合变量列表变量

Boolean decisions(布尔型决策变量)

布尔决策可以有两个值01。它们是使用内置函数bool()声明的,该函数返回一个新的二进制决策。Booleans使您能够对涉及二进制决策的任何问题(如背包问题)进行建模。大多数组合优化问题(指派、分配、包装、覆盖、分区、路由、调度等)可以简单地表示为纯0-1模型。要了解布尔决策的可能性,请看一下我们的示例教程

Floating-point decisions(浮点决策变量)

浮点数决策用于对给定范围内取值是连续的定量决策建模。它们是使用内置函数floatab)声明的,该函数返回范围为[ab]的浮点决策。浮点判决的最大范围由ieee754双精度浮点格式定义,大约是[-10^30710^307]

Integer decisions(整数型决策)

以类似的方式,整数决策用于对给定范围内的数值进行整数型的量化决策建模。它们是使用内置函数intab)声明的,intab)返回一个范围为[ab]的整数型决策。整型决策的最大范围是[-2^63+12^63-1],大约是[-10^1810^18]

Set and list decisions(集合变量和列表决策变量)

集合和列表决策变量允许定义决策变量,其值是域[0n-1]中整数的集合,其中n是运算符的唯一操作数。有关详细信息,请参阅我们关于集合变量的文档。未完待续。更多问题请联系LocalSolver独家授权代理商无锡迅合信息科技有限公司工程师。

猜你喜欢

转载自blog.csdn.net/qq_31243247/article/details/116896539