黑盒优化¶
黑盒优化¶
问题概览¶
黑盒问题的目标或约束无法可靠地展开成 OptAgent 的变量、表达式和约束, 而必须调用外部模拟器、遗留业务代码、机器学习模型或远程评估服务。
需求定义¶
- 输入:待搜索的决策变量,以及外部评估器需要的业务数据。
- 决策:通常是序列、连续参数或离散配置。
- 约束:可在模型中表达的约束直接建模;只能由外部函数判断的约束由评估器返回。
- 目标:由 Python 评估函数返回成本、收益或惩罚值。
规模与数据来源¶
复杂度主要由决策变量数量、外部评估单次耗时、评估器可缓存性和约束检查
成本决定。钢卷示例使用仓库内小型、可复现的 data/steel_coils.json,不
依赖内部业务数据或外部服务。
建模方案¶
使用 ModelBuilder.external_call(...) 注册纯函数或可复现的外部评估器,
再用 solve(...) 调用通用求解路径。TSP、线性路径和固定调度不属于本页
的默认案例;它们应优先使用结构化精确建模。
求解方案¶
黑盒问题没有可直接交给 MILP 或 CP-SAT 的完整表达式图,因此使用
solve(...),并显式配置公开的 GaConfig;简单的线性、路径和调度问题不应
为了展示策略而改写成黑盒。
示例页¶
- 外部评估与钢卷排序:只有外部业务函数无法展开时才使用黑盒路径。