Optimization 用Z3优化非线性目标函数

Optimization 用Z3优化非线性目标函数,optimization,z3,smt,Optimization,Z3,Smt,我有两个方程,其中一个是线性的,而第二个是非线性的。 我必须最小化第一个,同时最大化第二个 Z3可以实现这一点吗?似乎它不能优化非线性方程组。它用非线性方程返回“未知”。Z3优化主要针对线性片段,请参阅本文:(注意,本文中描述的工具现在是Z3的一部分,不需要单独的可执行文件。) 话虽如此,一个常见的技巧是使用优化器来完成线性部分;并重复调用以获得非线性零件的“更好”值。请参阅此答案的示例:Z3优化主要针对线性片段,请参阅本文:(注意,本文中描述的工具现在是Z3的一部分,您不需要单独的可执行文件。

我有两个方程,其中一个是线性的,而第二个是非线性的。 我必须最小化第一个,同时最大化第二个


Z3可以实现这一点吗?似乎它不能优化非线性方程组。它用非线性方程返回“未知”。

Z3优化主要针对线性片段,请参阅本文:(注意,本文中描述的工具现在是Z3的一部分,不需要单独的可执行文件。)


话虽如此,一个常见的技巧是使用优化器来完成线性部分;并重复调用以获得非线性零件的“更好”值。请参阅此答案的示例:

Z3优化主要针对线性片段,请参阅本文:(注意,本文中描述的工具现在是Z3的一部分,您不需要单独的可执行文件。)


话虽如此,一个常见的技巧是使用优化器来完成线性部分;并重复调用以获得非线性零件的“更好”值。请参见下面的答案作为示例:

我尝试了这个技巧,但我注意到它首先生成最大值。这是巧合吗?或者z3是为了先尝试更大的值而设计的?我尝试了这个技巧,但我注意到它首先生成最大值。这是巧合吗?或者z3是为了先尝试更大的值而设计的?