圈上优化:

圈上优化:

现在我们提供我们的第一个思想实验:考虑在约束条件定义的可行区域上优化线性函数的问题

< span > < /美元跨度> \罪(2 \π\压裂{我}{10 ^ 6})x + \ cos(2 \π\压裂{我}{10 ^ 6})y \ leq 1, \,给所有我\ \ \ {1 \ ldots 10 ^ 6 \}, < span > < / span >美元
即可行域实质上是一个单位圆< span > < /美元跨度> \ mathbb {R} ^ 2 < span > < / span >美元.注意,对于所有的目标函数,对应的最优点将由两个非常接近平行的线性约束定义。这个问题的数值解会发生什么变化?你能猜到吗?情况如下图所示:
\ scalebox {1.0} {\ includegraphics(宽度= 4){refman_misc / codedraw1.pdf}}

为了执行实验,我们执行代码circleOpt.py,其中我们随机选择一个目标向量,找到由此产生的优化问题的最优解,并计算几个相关的量:

  • 最糟糕的距离在报告的原始解决方案和理论解决方案之间的问题,实际上优化一个完美的循环,在所有之前的运行。
  • 这是古罗比报告的最严重的边界违规。
  • 在之前的所有运行中,古罗比报告的最严重的约束违反。
  • 这是古罗比在之前所有比赛中报告的最严重的双重违规。
  • 之前的实验数量。
  • 累积的单纯迭代次数。
  • < span > < / span > \ kappa美元美元< span > < / span >KappaExact属性)的当前最优基值。

示例输出如下所示:

错误:8.65535e-08 0 2.94137e-07 2.77556e-17 Iter 0 10 Kappa 3150.06错误:4.81978e-07 0 3.22359e-07 2.77556e-17 Iter 1 21 Kappa 3009.12错误:4.81978e-07 0 3.4936e-07 1.11022e-16 Iter 2 33 Kappa 2890.58错误:1.53201e-06 0 9.78818e-07 1.11022e-16 Iter 6 79 Kappa 1727.89错误:1.61065e-06 0 8.26005e-07 1.11022e-16 Iter 46 536 Kappa 1880.73错误:1.61065e-06 0 8.84782e-07 1.11022e-16 Iter 52 602 Kappa 1817.27错误:1.61065e-06 0 9.4557e-07 1.11022e-16 Iter 54 625 Kappa 1757.96错误:1.69167e-06 0 9.78818e-07 1.11022e-16 Iter 64 742 Kappa 1727.89错误:1.69167e-06 0 3.8268e-07 1.66533e-16 Iter 88 1022 Kappa 2761.99错误:1.69167e-06 0 9.04817e-07 1.66533e-16 Iter 92 1067 Kappa 1797.06错误:1.69167e-06 0 2.94137e-07 2.22045e-16 Iter 94 1089 Kappa 3150.06错误:1.69167e-06 0 3.29612e-07 2.22045e-16 Iter 95 1101 Kappa 2975.84错误:1.69167e-06 0 3.4936e-07 2.22045e-16 Iter 98 1137 Kappa 2890.58错误:1.69167e-06 0 9.25086e-07 2.22045e-16 Iter 99 1147 Kappa 1777.3错误:1.69167e-06 0 9.78818e-07 2.22045e-16 Iter 107 1237 Kappa 1727.89错误:1.69167e-06 0 9.99895e-07 2.22045e-16 Iter 112 1293 Kappa 1709.61错误:错误:1.96603e-06 0 9.99895e-07 2.22045e-16 Iter 134 1545 Kappa 1709.61

令人惊讶的是,报告的错误相当小。这是为什么呢?至少有两个影响因素:模型有一个有界可行域(在这种情况下,两个变量的范围都是< span > < / span >美元美元[1]< span > < / span >).另外,从一个极值点(两个相邻约束的交点)到它的邻居的距离也相对较小,所以< span > < / span > \ varepsilon美元美元< span > < / span >-最优解彼此接近。

我们鼓励您使用这些代码,修改一些输入数据,并分析结果。你将看到理论和数值最优解之间的差异将与微扰的大小相当。