请参阅有关该主题的出版物,例如
1. 尼古拉·比约纳 (Nikolaj Bjorner) 和潘英勇 (Anh-Dung Phan)。 νZ - 对 Z3 的最大满意度。Proc 软件科学符号计算国际研讨会,突尼斯 Gammart,2014 年 12 月。EasyChair 计算论文集 (EPiC)。[PDF] https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/nbjorner-scss2014.pdf
2. 尼古拉·比约纳 (Nikolaj Bjorner)、潘英勇 (Anh-Dung Phan) 和拉尔斯·弗莱肯斯坦 (Lars Fleckenstein)。 Z3 - 优化 SMT 求解器。在过程中。 TACAS,LNCS 第 9035 卷。 Springer,2015——如果这些还不够,还可以阅读与优化模理论主题相关的任何其他出版物。[施普林格] https://link.springer.com/chapter/10.1007/978-3-662-46681-0_14 [[PDF] https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/nbjorner-nuz.pdf
The z3
优化模理论 (OMT) 求解器具有各种优化过程。其中一些技术比其他技术更有效,但只能处理某些类别的目标函数(即伪布尔/MaxSMT 目标)。如果是线性算术成本函数不能简化为伪布尔/MaxSMT,大多数 OMT 求解器采用的优化搜索的基本方法是运行linear- or 二分查找。有关两种方法之间的比较,请参阅
罗伯托·塞巴斯蒂亚尼和西尔维娅·托马西 使用 LA(Q) 成本函数优化 SMT。IJCAR,LNAI 第 7364 卷,第 484-498 页。施普林格,2012 年 7 月。[PDF] http://disi.unitn.it/~rseba/papers/ijcar12.pdf
罗伯托·塞巴斯蒂亚尼和西尔维娅·托马西. 具有线性有理成本的优化模理论。ACM 计算逻辑汇刊,16(2),2015 年 3 月。[PDF] http://disi.unitn.it/~rseba/papers/a12-sebastiani.pdf
我不知道如何回答这个问题“怎么可以有效率的找出这里的最大/最小值..?”,因为第一个应该定义什么效率在此上下文中的意思。正如您可以从前两篇出版物中读到的那样,二分查找并不总是最好的选择,因为优化中的搜索步骤并不完全相同"cost".
的定义词典编法优化在整个互联网上都很容易实现,这是我最近使用的:
定义 4.6.4。 (字典顺序 OMT [BP14、BPF15、ST15b、ST15c])。 Let <φ,O>
是一个多目标 OMT 问题,其中φ
是接地 SMT 公式,O = { obj_1 , ..., obj_N }
是一个排序列表N
目标函数。我们称之为字典序OMT问题, 寻找模型的问题M
这满足φ
并使每个obj_i
最小值 1 按优先级降序排列。
1:在实践中,目标不需要全部最小化,这只是为了便于定义
AFAIK,字典序优化程序实施于z3
没有在任何公开发表的论文中进行广泛描述。然而,一个简单的方法lex
是运行N
单目标(增量)优化,每次固定上一轮获得的最优值。
如果这还不足以回答您的问题,请查看与该主题相关的任何其他出版物最优化模理论.