搜索与优化深入剖析
在优化问题中,对于大型问题枚举所有可能的分区往往是不可行的。例如,当某些计算结果为 5.3 × 10²⁸ ,若将 n 增加到 100 ,该数字会变为 6.7 × 10⁵⁸ 。接下来,我们将深入探讨优化问题的分类以及相关的求解方法。
目标函数的景观与数量
目标函数的景观代表了函数值在可行搜索空间中的分布。在这个景观中,若处理的是最小化问题,最优解或全局最小值位于最低谷;若是最大化问题,则位于最高峰。
根据目标函数的景观,若只有一个明确的全局最优解,该问题为单峰问题(如凸函数和凹函数);若存在多个最优解,则为多峰问题。当全局最小值位于非常狭窄的山谷,且存在一个具有广泛吸引域的强局部最小值,使得该目标函数的值接近全局最小值处的目标函数值时,此目标函数被称为欺骗性函数。
以下是使用 Python 生成单峰、多峰和欺骗性函数景观的 3D 可视化代码:
import numpy as np
import math
import matplotlib.pyplot as plt
def objective_unimodal(x, y):
return x**2.0 + y**2.0
def objective_multimodal(x, y):
return np.sin(x) * np.cos(y)
def objective_deceptive(x, y):
return (1-(abs((np.sin(math.pi*(x-2))*np.sin(math.pi*(y-2)))/
(m
超级会员免费看
订阅专栏 解锁全文
850

被折叠的 条评论
为什么被折叠?



