重载运算符#
Gurobi C++ 接口重载了几个算术和比较运算符。重载的算术运算符(+, -, *, /
)用于创建线性和二次表达式。重载的比较运算符(<=, >=, 和 ==
)用于构建线性和二次约束。
请注意,重载的比较运算符的结果通常不会存储在用户变量中。它们会立即传递给GRBModel::addConstr
或GRBModel::addQConstr
。
-
GRBTempConstr operator==(GRBQuadExpr lhsExpr, GRBQuadExpr rhsExpr)#
创建一个等式约束
- Parameters:
lhsExpr – 等式约束的左侧。
rhsExpr – 等式约束的右侧。
- Returns:
类型为
GRBTempConstr
的约束。结果通常立即传递给GRBModel::addConstr
。
-
GRBTempConstr operator<=(GRBQuadExpr lhsExpr, GRBQuadExpr rhsExpr)#
创建一个不等式约束
- Parameters:
lhsExpr – 不等式约束的左侧。
rhsExpr – 不等式约束的右侧。
- Returns:
类型为
GRBTempConstr
的约束。结果通常立即传递给GRBModel::addConstr
或GRBModel::addQConstr
。
-
GRBTempConstr operator>=(GRBQuadExpr lhsExpr, GRBQuadExpr rhsExpr)#
创建一个不等式约束
- Parameters:
lhsExpr – 不等式约束的左侧。
rhsExpr – 不等式约束的右侧。
- Returns:
类型为
GRBTempConstr
的约束。结果通常立即传递给GRBModel::addConstr
或GRBModel::addQConstr
。
-
GRBLinExpr operator+(const GRBLinExpr &expr1, const GRBLinExpr &expr2)#
表达式对象上的重载运算符。
添加一对表达式。
- Parameters:
expr1 – 要添加的第一个表达式。
expr2 – 要添加的第二个表达式。
- Returns:
求和表达式。
-
GRBLinExpr operator+(const GRBLinExpr &expr)#
表达式对象上的重载运算符。
允许在表达式前使用加号。
- Parameters:
expr – 表达式。
- Returns:
结果表达式。
-
GRBLinExpr operator+(GRBVar x, GRBVar y)#
表达式对象上的重载运算符。
添加一对变量。
- Parameters:
x – 要相加的第一个变量。
y – 要添加的第二个变量。
- Returns:
求和表达式。
-
GRBQuadExpr operator+(const GRBQuadExpr &expr1, const GRBQuadExpr &expr2)#
表达式对象上的重载运算符。
添加一对表达式。
- Parameters:
expr1 – 要添加的第一个表达式。
expr2 – 要添加的第二个表达式。
- Returns:
求和表达式。
-
GRBQuadExpr operator+(const GRBQuadExpr &expr)#
表达式对象上的重载运算符。
允许在表达式前使用加号。
- Parameters:
expr – 表达式。
- Returns:
结果表达式。
-
GRBLinExpr operator-(const GRBLinExpr &expr1, const GRBLinExpr &expr2)#
表达式对象上的重载运算符。
从一个表达式中减去另一个表达式。
- Parameters:
expr1 – 开始表达式。
expr2 – 要减去的表达式。
- Returns:
差异表达式。
-
GRBLinExpr operator-(const GRBLinExpr &expr)#
表达式对象上的重载运算符。
否定一个表达式。
- Parameters:
expr – 表达式。
- Returns:
表达式的否定。
-
GRBQuadExpr operator-(const GRBQuadExpr &expr1, const GRBQuadExpr &expr2)#
表达式对象上的重载运算符。
从一个表达式中减去另一个表达式。
- Parameters:
expr1 – 开始表达式。
expr2 – 要减去的表达式。
- Returns:
差异表达式。
-
GRBQuadExpr operator-(const GRBQuadExpr &expr)#
表达式对象上的重载运算符。
否定一个表达式。
- Parameters:
expr – 表达式。
- Returns:
表达式的否定。
-
GRBLinExpr operator*(GRBVar x, double a)#
表达式对象上的重载运算符。
将一个变量和一个常数相乘。
- Parameters:
x – 变量。
a – 常数乘数。
- Returns:
表示变量乘以常数的结果的表达式。
-
GRBLinExpr operator*(double a, GRBVar x)#
表达式对象上的重载运算符。
将一个变量和一个常数相乘。
- Parameters:
a – 常数乘数。
x – 变量。
- Returns:
表示变量乘以常数的结果的表达式。
-
GRBLinExpr operator*(const GRBLinExpr &expr, double a)#
表达式对象上的重载运算符。
将一个表达式和一个常数相乘。
- Parameters:
expr – 表达式。
a – 常数乘数。
- Returns:
表示将表达式乘以常数的结果的表达式。
-
GRBLinExpr operator*(double a, const GRBLinExpr &expr)#
表达式对象上的重载运算符。
将一个表达式和一个常数相乘。
- Parameters:
a – 常数乘数。
expr – 表达式。
- Returns:
表示将表达式乘以常数的结果的表达式。
-
GRBQuadExpr operator*(const GRBQuadExpr &expr, double a)#
表达式对象上的重载运算符。
将一个表达式和一个常数相乘。
- Parameters:
expr – 表达式。
a – 常数乘数。
- Returns:
表示将表达式乘以常数的结果的表达式。
-
GRBQuadExpr operator*(double a, const GRBQuadExpr &expr)#
表达式对象上的重载运算符。
将一个表达式和一个常数相乘。
- Parameters:
a – 常数乘数。
expr – 表达式。
- Returns:
表示将表达式乘以常数的结果的表达式。
-
GRBQuadExpr operator*(GRBVar x, GRBVar y)#
表达式对象上的重载运算符。
将一对变量相乘。
- Parameters:
x – 第一个变量。
y – 第二个变量。
- Returns:
表示参数变量相乘结果的表达式。
-
GRBQuadExpr operator*(GRBVar var, const GRBLinExpr &expr)#
表达式对象上的重载运算符。
将一个表达式和一个变量相乘。
- Parameters:
var – 变量。
expr – 表达式。
- Returns:
表示将表达式乘以变量的结果的表达式。
-
GRBQuadExpr operator*(const GRBLinExpr &expr, GRBVar var)#
表达式对象上的重载运算符。
将一个表达式和一个变量相乘。
- Parameters:
var – 变量。
expr – 表达式。
- Returns:
表示将表达式乘以变量的结果的表达式。
-
GRBQuadExpr operator*(const GRBLinExpr &expr1, const GRBLinExpr &expr2)#
表达式对象上的重载运算符。
将一对表达式相乘。
- Parameters:
expr1 – 第一个表达式。
expr2 – 第二个表达式。
- Returns:
表示参数表达式相乘结果的表达式。
-
GRBLinExpr operator/(GRBVar x, double a)#
重载运算符,用于将变量或表达式除以常数。
- Parameters:
x – 变量。
a – 常数除数。
- Returns:
表示将变量除以常数的结果的表达式。
-
GRBLinExpr operator/(const GRBLinExpr &expr, double a)#
重载运算符,用于将变量或表达式除以常数。
- Parameters:
expr – 表达式。
a – 常数除数。
- Returns:
表示将表达式除以常数的结果的表达式。
-
GRBLinExpr operator/(const GRBQuadExpr &expr, double a)#
重载运算符,用于将变量或表达式除以常数。
- Parameters:
expr – 表达式。
a – 常数除数。
- Returns:
表示将表达式除以常数的结果的表达式。