薄区域优化:

薄区域优化:

现在我们转到第二个思维实验:考虑一个可行区域,其中包含一个三角形< span > < /美元跨度> \ mathbb {R} ^ 2 < span > < / span >美元底很宽,高很短,如下图所示:

图像codedraw2
考虑基部与高度的比率的情况是按顺序< span > < / span > 10 ^ 5美元美元< span > < / span >,我们认为名义上的目标函数< span > < /美元跨度> vec {c} _1 \ < span > < / span >美元如图所示。

理论上,最优解应该是三角形的顶点,但假设我们随机地用顺序为的项对右边和目标函数进行扰动< span > < / span > 10美元^ {6}< span > < / span >美元。数字解决方案会发生什么?

为了执行实验,我们执行代码thinOpt.py,其中我们执行一系列的重新优化与不同的扰动,如上所述。更准确地说,每当新的计算解与数学解之间的距离比之前的试验中要远时,我们打印:

  • 解决方案之间的最大距离。
  • 当前迭代。
  • < span > < / span > \ kappa美元美元< span > < / span >KappaExact属性)值为当前的最优基。
  • Gurobi报告的当前解决方案的边界违反。
  • Gurobi报告的当前解决方案的约束冲突。
  • Gurobi报告的当前解决方案的双重违反。

输出示例如下:

新maxdiff 4 e + 16 Iter 0 Kappa 3.31072侵犯:0 0 0新的maxdiff 4 e + 16 Iter 1 Kappa 3.31072侵犯:0 0 0新的maxdiff 4 e + 16 Iter 2 Kappa 3.31072侵犯:0 0 0新的maxdiff 4 e + 16 Iter 7 Kappa 3.31072侵犯:0 0 0 83年新的maxdiff 4 e + 16日Iter Kappa 3.31072侵犯:0 0 2.64698 e-23新的maxdiff 4 e + 16 Iter 194卡巴3.31072违规行为:0 0 0新maxdiff 4 e + 16 Iter 1073 Kappa违反3.31072:1.13687 e-13 0新的maxdiff 4 e + 16 Iter 4981 Kappa 3.31072侵犯:0 0 0新的maxdiff 4 e + 16 Iter 19514 Kappa 3.31072侵犯:0 0 0新的maxdiff 4 e + 16 Iter 47117 Kappa 3.31072侵犯:0 0 0新的maxdiff 4 e + 16 Iter 429955 Kappa 3.31072违规行为:0 0 0新maxdiff 4e+16 Iter 852480 Kappa 3.31072违反:0 0 0

结果看起来与我们在第一次测试中看到的非常不同。未摄动模型的解与摄动模型的解之间的距离是巨大的,甚至从第一次迭代开始。此外,< span > < / span > \ kappa美元美元< span > < / span >值相对较小,报告的原始、对偶和边界违反几乎为零。所以,发生了什么事?当我们选择的时候请注意< span > < /美元跨度> vec {c} _1 \ = (0, 1) < span > < / span >美元,我们正在选择一个最优点,在这个点上,目标函数的一个小的倾斜可能会使我们移动到另一个非常远的极值点,因此有一个很大的范数。这是可能的,因为这个区域非常大,原则上,没有任何边界,也就是说,这与< span > < / span > \ varepsilon美元美元< span > < / span >-最优解和很长的边。

同样,我们鼓励您尝试一下这个例子。例如,如果名义目标函数是<span> $ </ span> \ vec {c} _2 =(1,0)<span> $ </ span>