优化薄区域:
优化薄区域:
现在我们进入第二个思考实验:考虑一个可行区域,其中包含一个三角形基座很宽,高度很短,如图所示:
理论上,最优解应该是三角形的顶点,但假设我们随机扰动右手边和目标函数的项的顺序.数值解会发生什么?
为了执行实验,我们执行代码thinOpt.py,在这里,我们使用上面描述的不同的扰动来执行一系列的重新优化。更精确地说,每当新的计算结果比以前的试验结果更接近数学结果时,我们就打印:
- 解之间新的最大距离。
- 当前迭代。
- 的(KappaExact属性)的当前最优基值。
- 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违规行为:新maxdiff 4e+16 Iter 852480 Kappa 3.31072违规:0 0 0
结果看起来与我们在第一次测试中看到的非常不同。未摄动模型的解和摄动模型的解之间的距离是巨大的,甚至从第一次迭代开始。此外,值相对较小,所报告的原始、双重和边界违规几乎为零。所以,发生了什么事?注意,当我们选择,我们正在选择一个最优点,在这个点上,目标函数的一个小倾斜可能会把我们移动到另一个极端点,从而是一个大范数。这是可能的,因为区域非常大,原则上,没有任何边界,也就是说,这与-最优解和很长的边。
同样,我们鼓励您玩一下这个例子。例如,如果名义目标函数是?