变量的cplex约束函数
cplex constraint function of a variable
我有一个优化变量x和一个常数y。
我想表达一个约束
f(x) <= y.
我试着做
27: IloRange rng = (f(cplex->getValue(x)) <= y);
28: model.add(rng);
但是我得到错误
cplex.cpp:27: error: conversion from 'bool' to non-scalar type 'IloRange' requested
有人能帮我写下这个表格的约束条件吗?
首先,严格不等式在线性规划中是不可能的。然而,您可以表达
f(x) <= y
cplex->getValue(x)是一个二重,因此f(x)<=y是布尔值。无论如何,cplex->getValue()只有在您有了解决方案之后才可用,所以它永远不应该成为模型的一部分,除非您正在迭代求解它。要获得IloRange,需要重写f(x)以接受IloNumVar作为其参数,并返回IloExpr。例如,如果你有类似的东西
double f(double x) {return 2*x;}
你需要一个版本
IloExpr f(IloNumVarx) {return 2*x;}
然后你可以写
IloRange rng = (f(x) <= y);
如果使用cplex(或任何线性规划求解器),f(x)只能是线性函数或凸二次函数。
相关文章:
- 函数作为模板参数,是否对返回类型强制约束
- 受约束的成员函数和显式模板实例化
- 在 C++20 中对概念约束函数进行排序的规则是什么?
- 如何使用 g2o 优化多约束函数
- 约束类模板函数以接受特定的 POD 类型
- 如何将从第 2 个字符开始的字符串作为函数中的参数传递以进行递归,并约束数据 tiee 是函数中的字符串?
- 如何在带有约束 (C++) 的函数中使用泛型类型
- 对构造函数调用的约束
- 非模板化函数上的约束表达式有什么意义?
- 函数 getValue(s) cplex c++ 的问题
- 文本类类型成员函数约束
- 为什么重载解析更喜欢不受约束的模板函数而不是更具体的模板函数?
- 对 std::Optional 的转发引用构造函数的约束
- 函数不受主内存约束的函数所需的复杂性是什么?
- 为白名单类型约束模板函数的更好方法,SFINAE
- 在 CPLEX 中使用 IloRange 定义约束时出错 (c++)
- 需要约束模板成员函数的概念定义
- 变量的cplex约束函数
- std::p air<> 的模板成员必须具有 const copy 构造函数。如何实现该约束
- 从Arduino约束函数端口