LocalSolver快速入门指南(连载十六) ---- LocalSolver可用的操作符和函数列表

Local solver可用的操作符和函数列表

在下表中,每个操作符用LSP语言的名称标识。请注意,在PythonC++C语言或java语言中,这些名称可能略有不同,以尊重每个开发语言的编码约定和预留关键字:

  • 在C++和java中,决策变量被冠以“var”( boolVar, floatVar, intVar, setVar 和 listVar)前缀
  • 在C#中所有函数都以大写字母开头.
  • 下表列出了LocalSolver中可用的操作符和函数

如有任何疑问请联系localsolver中国代理商/技术商无锡迅合信息科技有限公司开发人员,未完待续,下一章节:(连载十七) -Local Solver中的 At操作符, 分段操作符

 

函数

描述

参数类型

结果类型

参数个数

符号

决策变量

bool

域为{0,1}的布尔决策变量

布尔型

0

 

float

[ab]上的浮点决策变量

2个双精度

双精度浮点型

2

 

int

域为[ab]的整数决策变量

2个整数

整型

2

 

list

[0n-1]范围内整数的有序集合

1个整数

集合

1

 

set

[0n-1]范围内整数的无序集合

1个整数

集合

1

 

算术运算

sum

所有操作数之和

布尔型,整数,双精度浮点数

整型,双精度浮点型

n >= 0

+

sub

第一个操作数与第二个操作数的相减

布尔型,整数,双精度浮点数

整型,双精度浮点型

2

-

prod

所有操作数的乘积

布尔型,整数,双精度浮点数

整型,双精度浮点型

n >= 0

*

min

所有操作数的最小值

布尔型,整数,双精度浮点数

整型,双精度浮点型

n > 0

 

max

所有操作数的最大值

布尔型,整数,双精度浮点数

整型,双精度浮点型

n > 0

 

div

第一个操作数除以第二个操作数

布尔型,整数,双精度浮点数

双精度浮点型

2

/

mod

取模:modab=r,使得a=q*b+r,其中qr为整数,r<b

布尔型,整数

整型

2

%

abs

绝对值:如果e>=0,则abse=e,否则为-e

布尔型,整数,双精度浮点型

整型,双精度浮点型

1

 

dist

距离:distab=absa-b

布尔型,整数,双精度浮点型

整型,双精度浮点型

2

 

sqrt

平方根

布尔型,整数,双精度浮点型

双精度浮点型

1

 

cos

Cosine(余弦)

布尔型,整数,双精度浮点型

双精度浮点型

1

 

sin

Sine(正弦)

布尔型,整数,双精度浮点型

双精度浮点型

1

 

tan

Tangent(正切)

布尔型,整数,双精度浮点型

双精度浮点型

1

 

log

自然对数

布尔型,整数,双精度浮点型

双精度浮点型

1

 

exp

指数函数

布尔型,整数,双精度浮点型

双精度浮点型

1

 

pow

powab)等于以a为底的b次幂

布尔型,整数,双精度浮点型

双精度浮点型

2

 

ceil

Ceil:对一个数向上取整

布尔型,整数,双精度浮点型

整型

1

 

floor

Floor:四舍五入到上一个最大整数(向下取整)

布尔型,整数,双精度浮点型

整型

1

 

round

舍入到最接近的整数:round(x) = floor(x + 0.5)

布尔型,整数,双精度浮点型

整型

1

 

scalar

两个数组之间的标量乘积

数组

整型,双精度浮点型

2

 

piecewise

两个数组之间的分段线性函数乘积。

数组,整型,双精度浮点型

双精度浮点型

3

 

逻辑

not

非:note=1-e

布尔型

布尔型

1

!

and

:如果所有操作数都是1,则等于1,否则等于0

布尔型

布尔型

n >= 0

&&

or

: 如果所有操作数都为0,则等于0,否则等于1

布尔型

布尔型

n >= 0

||

xor

异或:如果值为1的操作数为偶数,则等于0,否则等于1

布尔型

布尔型

n >= 0

 

关系型

eq

等于:如果a=begab=1,否则为0

布尔型,整数,双精度浮点型

布尔型

2

==

neq

不等于:如果a=b,那么neq(a,b)=1 否则为0

布尔型,整数,双精度浮点型

布尔型

2

!=

geq

大于或等于: 如果a >= b ,那么geq(ab) = 1 ,否则为0

布尔型,整数,双精度浮点型

布尔型

2

>=

leq

小于或等于:如果a <= b ,那么leq(ab) = 1 否则为0

布尔型,整数,双精度浮点型

布尔型

2

<=

gt

严格大于: 如果a > b ,那么gt(ab) = 1,否则为0

布尔型,整数,双精度浮点型

布尔型

2

>

lt

严格小于: 如果a < b ,那么lt(ab) = 1,否则为0

布尔型,整数,双精度浮点型

布尔型

2

<

条件型

iif

三元运算符:如果a等于1,则iifabc=b,否则为c

布尔型,整数,双精度浮点型

布尔型,整型,双精度浮点型

3

?:

array + at

T[i]返回数组T中的第i个值。

数组,整数

布尔型,整型,双精度浮点型

2

[]

集合相关

count

返回集合中的元素数。

集合

整型

1

 

indexOf

返回集合中某个值的索引,如果该值不存在,则返回-1

集合,整型

整型

2

 

contains

如果集合包含给定值,则返回1,否则返回0

集合,整型

布尔型

2

 

partition

如果所有操作数构成其公共域的分区,则返回true

集合

布尔型

n > 0

 

disjoint

如果所有操作数都是成对不相交的,则返回true

集合

布尔型

n > 0

 

其他

call

调用函数。它可以用来实现您自己的操作符。

布尔型,整数,双精度浮点型

双精度浮点型

n > 0

 

Guess you like

Origin blog.csdn.net/qq_31243247/article/details/116951082