#soyster鲁棒对等模型中,假设约束条件右侧参数不确定,如何推导公式?
以下式为例
能说的再具体一些吗,最好用草稿纸写一下
给我1个小时 小小研究一下
下图为 A为不确定参数的推导过程,可以参照下图
据的不确定性表示为证据量度L,其大小非常类似于概率,但它并不像概率那样必须满足0到1之间的限制。可以将每个随机变量的不确定性表示为对应证据量度L(xi),其值越小表示不确定性越大。因此,将不确定性引入到模型中的方法是通过将L(xi)作为一个新的参数来处理。
对于soyster鲁棒对等模型中包含不确定参数的情况,可以利用鲁棒优化的方法来处理。具体来说,可以采用基于不确定区间的方式定义参数,并在模型求解中引入相应的约束条件和目标函数来得到鲁棒对等模型。在求解中,可以通过遗传算法、粒子群算法或其他优化算法来实现。
下面是一个简单的示例来说明如何推导含不确定参数的soyster鲁棒对等模型的公式:
假设我们要求解以下问题:
max c'x s.t. Ax = b + δ, l ≤ x ≤ u,
其中b是一个不确定的向量,δ是一个在[-ε, ε]区间内均匀分布的随机向量,A,x,l和u是已知的参数。为了得到鲁棒对等模型,我们可以将δ看作一个新的不确定参数,并定义其取值范围为Z=[-ε,ε]。
接下来,我们可以引入新的变量y和t,定义如下的鲁棒化形式:
max c'x s.t. Ax + ty = b, -t ≤ δ ≤ t, l ≤ x ≤ u, t ≥ 0.
其中t是一个正变量,y和t用于描述b向量中不确定性的范围,即δ在[-t, t]区间内。这里的约束条件和目标函数可以被转化为线性规划中标准的形式,并且可以使用现有的优化算法求解。
参考代码如下:
% define problem parameters n = 5; % number of variables m = 3; % number of constraints A = randn(m,n); % constraint matrix l = zeros(n,1); % lower bound for variables u = rand(n,1); % upper bound for variables b = randn(m,1); % uncertain right-hand side eps = 0.1; % range of uncertainty for b B = [-eps eps];
% define robust equivalent problem model.obj = [zeros(n,1); 1]; model.A = [A zeros(m,1); zeros(m,n) 1]; model.sense = [repmat('=',m,1); repmat('<',2*m,1)]; model.rhs = [b; B']; model.lb = [l; 0]; model.ub = [u; Inf];
% solve robust equivalent problem result = gurobi(model); x = result.x(1:n); % solution for original problem
disp('Solution for original problem:'); disp(x);
Soyster的鲁棒对等模型,这个模型我之前没有接触过。你现在不知道怎么推导的话,是不是论文中没有写推导过程,你看下论文其他地方有没有写推导过程。一般都会写的,除非这个推导过程比较简单,如果你没看懂的话,可能是对这个个模型的理论基础还不是特别了解,建议可以先去深入学习下,之后回过头来看,没准就能理解了。
去网上查询一下相关的论文、资料,深入学习一下,这里问的话,能推出来的人不多哦