Optimization cplex中的分段非线性代价函数

Optimization cplex中的分段非线性代价函数,optimization,cplex,nonlinear-optimization,nonlinear-functions,Optimization,Cplex,Nonlinear Optimization,Nonlinear Functions,是否可以在Cplex中建立非线性分段成本函数模型 例如,我在这里输入的数字: 我知道一种方法是将二次部分线性化,但是,我想使用二次部分 您可以看到,条件取决于决策变量本身,成本函数可以如下所示: 如果x≲ x0,则成本为二次部分 否则成本是线性部分 提前感谢:)一种方法是在x处选择最便宜的曲线: min cost cost ≥ f(x) − Mδ cost ≥ g(x) − M(1−δ) δ ϵ {0,1} M是一个常数:两条曲线之间的最大差值(即M=| f(xmax)−

是否可以在Cplex中建立非线性分段成本函数模型

例如,我在这里输入的数字:

我知道一种方法是将二次部分线性化,但是,我想使用二次部分

您可以看到,条件取决于决策变量本身,成本函数可以如下所示:

如果x≲ x0,则成本为二次部分

否则成本是线性部分


提前感谢:)

一种方法是在x处选择最便宜的曲线:

 min cost
 cost ≥ f(x) − Mδ
 cost ≥ g(x) − M(1−δ)
 δ ϵ {0,1}
M是一个常数:两条曲线之间的最大差值(即
M=| f(xmax)−g(xmax)|
)。δ是一个二进制变量。我假设我们是最小化成本的,并且二次函数是凸的

这个构造实现了

 min cost
 cost ≥ f(x)  or  cost ≥ g(x)

解算器将始终删除最昂贵的函数,并保留最便宜的函数。在您的图片中,这正是我们想要的:在
x0
的左侧,二次函数最便宜,而在
x0
的右侧,线性函数更便宜。此配方将自动选择更便宜的选项。

谢谢您的回复。但是,tbh,我不明白你的解决方案。请你详细说明一下好吗?什么是三角洲?我们想要最小化成本,这些都是对目标函数本身的限制。我的主要问题是,是否有可能在Cplex中实现这样的函数?Delta是一个二进制变量。目标可以是“最小化成本”,其中成本是一个连续变量。是的,这可以在Cplex(或任何其他MIP解算器)中实现。