Z3中整数的最小函数

Z3是否支持整数的min函数,即返回两个数字中的最小值?我在Z3的网站上找不到它 此外,它是否支持某种可以返回一组数字的最小值的函数?大概是这样的: (断言(=y(最小x1 x2 x3 x4 x5)), 其中x和y是整数 谢谢。min是即将发布的浮点理论的保留关键字。 您可以使用define fun命令定义宏min2(二进制)、min3(三元)等。 下面是定义min2、min3和min4的示例 SMT 2.0标准不支持具有任意数量参数的宏。 如果您愿意,可以使用Z3API中的一个来实现这一点。

在C/C+中遍历Z3_ast树+;

简而言之,我需要能够遍历Z3_ast树并访问与其节点相关联的数据。似乎找不到关于如何做到这一点的任何文档/示例。任何指示都会有帮助 最后,我需要将smt2lib类型的公式解析为Z3,进行一些变量到常量的替换,然后在与另一个无关SMT sovler兼容的数据结构中重新生成公式(具体来说,我不认为有关mistral的详细信息对这个问题很重要,但有趣的是,它没有一个命令行界面,我可以向它提供文本公式。它只有一个C API)我想,在Mistalar格式中生成公式,我需要遍历Z3ASAST树并以所需的格式

Z3支持实数到整数的转换吗?

在Z3中,你必须用实数来获得整数的实数等价物。是否支持逆转换,即截断、舍入等?在否定的情况下,如果有的话,Z3最友好的定义方式是什么?非常感谢大家的回答。是的,Z3有一个将实数转换为整数的to_int函数。to_int的语义在中定义。以下是一个例子: 非常感谢你;因为我需要向零舍入,所以我将使用(定义有趣的舍入到零((x Real))Int(如果(>=x 0.0)(到Int x)((到Int(-x-)))))。再次感谢您,请继续使用Z3进行出色的工作。 (declare-fun x () Rea

z3可以读取MathSAT的输出文件作为其输入文件吗?

我需要使用z3和mathsat进行一些实验。我已经用mathsat完成了实验。为mathsat编写输入文件需要很多时间,我不想再为z3编写输入文件。Mathsat支持从“msat”文件生成“smt”文件。转换命令如下所示: /home/xdb/mathsat/mathsat-4.2.17-linux-x86_64/bin/mathsat -input=msat -output=smt -logic=QF_LRA /home/xdb/satcase/sample/sample.msat>&g

在Z3py中重复匹配的模型

在下面的工作示例中,我尝试检索匹配的模型,在本例中,有两个令人满意的模型: t1= cl7 t2= cl4 t3= cl5 及 问题是重复匹配的模型,直到运行的解算器超时。 如何在不重复的情况下检索满意的模型 非常感谢, S, (cl1, cl2, cl3, cl4, cl5, cl6, cl7,cl8,cl9) = EnumSort('S', ['cl1', 'cl2', 'cl3', 'cl4', 'cl5','cl6' ,'cl7', 'cl

Z3 FP逻辑:生成意外的模型

对于此问题: Z3生成模型: sat ((s0 FP!val!0)) 我希望看到一个真实的数字作为模型。对于这种情况,它几乎就好像是在把FP当作一种不足为奇的处理方式。有没有办法让Z3在这里生成一个实数?感谢您的报道。事实上,FPA的模型完成中存在一个缺陷。修复程序已在不稳定的分支中可用 请注意,带NaN的==(浮点等于)始终为false,即在本例中,任何s0都满足该公式。现在完全正确地忽略了这些值(在get模型中),或者使用NaN完成模型(对于get值,或者通常在启用模型完成时)

Z3 从包含“的模型中获取具体值”;数组ext";

当我组合数组和量词时,Z3通常会生成包含array ext应用程序的模型。例如,生成以下模型: (define-fun pipeid () (Array Int Int) (_ as-array k!2)) (define-fun valid () (Array Int Bool) (_ as-array k!0)) (define-fun ispipe () (Array Int Bool) (_ as-array k!1)) (define-fun pipeid_ab () In

Z3 矩阵值函数可满足性的检验

我想把2个2*2阶的矩阵相乘。其中一个矩阵包含未知参数“k1”。我想检查一个可满足的解,它的值为k1。两个矩阵的乘积等于第三个矩阵。 注意:我不想把乘法转换成线性关系或方程组,我想把它当作矩阵来处理 这就是我被困的地方 k1 = Int ('k1') x = [ [ Int("x_%s_%s" % (i+1, j+1)) for j in range(2) ] for i in range(2) ] a =((1,k1),(3,4)) b =((1,1),(1,1)) c=

Z3-SMT-LIB在线能够证明左对消,iZ3在线能够证明右对消

Z3-SMT-LIB在线能够证明分组的左取消特性: ((x*y)=(x*z))=>(y=z) 在线验证 Z3-SMT-LIB在线无法证明分组正确的取消属性: ((y*x)=(z*x))=>(y=z) iZ3在线能够证明分组的权利撤销性质 在线验证 iZ3在线无法证明左取消属性 这种行为的解释是什么?我认为原因是Z3-SMT-LIB在线依赖于Z3的主分支;但在线iZ3依赖于Z3的不稳定分支。你同意吗?我不确定Z3的“SMT-LIB”版本是什么,但通常rise4fun上的二进制文件是手动更新的,所以

z3中的量词消去

我试图用z3来简化公式∃u、 (u=x)∧(u=y)至(x=y)。 我试过: 但这并没有简化公式。为什么?我该如何简化这个公式呢?Z3无法消除这样的量词。使用Reduce的Redlog,我们得到: (declare-sort A) (declare-const x A) (declare-const y A) (assert (exists ((u A)) (and (= u x) (= u y)))) (apply (then ctx-solver-simplify qe))

Z3:分组断言和链接断言组

让c_1,…,c_n,d_1,…,d_n和e_1,…,e_n作为断言。在Z3中,是否可以将断言分组并连接组而不是单个断言 例如,设C、D和E为一组,其中C包含所有C_i,D包含所有D_i和E包含所有E_i;每个组的断言都与和连接 有没有一种方法可以检查断言的可满足性,如如果C,那么D,否则E,其中模型返回C_i,D_i和E_i?这里可能我遗漏了一些东西,但这不是很容易定义C as和C_1..C_n(D和E相同),然后断言如果是C,那么是D,否则是E。看看这个z3链接,我的SMTLIB2编码为n=

Z3 用于应用正式方法验证现有软件中安全策略的自动化工具

我对正式方法领域还不熟悉,但我觉得我对它的应用有着良好的理解。然而,我似乎只在软件创建时遇到应用于开发过程的正式方法 我希望能够在现有的软件上应用正式的方法来测试它是否遵循基于角色的访问控制(RBAC)和敏感信息的分离(BLP)方法 您知道哪些方法和工具可以为现有软件/源代码的RBAC和BLP类验证提供自动化解决方案 干杯 M.ForodsRBAC有几种正式的工具 有些基于模型检查(nuSMV),值得注意的是Mohawk 作者:Karthick Jayaraman等人: 还有一些工具使用基于SM

z3 Visual Studio编译器的最低版本

可用于构建z3的最小Visual Studio编译器是什么?我曾尝试从github提交2d2ec385410a133bfb8c699d1c2c85fcf141f4b8,但未能使用MSVC 2008和2010进行构建。我们需要它来与MSVC2008一起工作,但是在尝试将常量迭代器类型转换为迭代器类型时,使用该编译器进行构建会导致失败。所以我尝试了MSVC 2010,得到了以下结果: ..\src\util\hwf.cpp(320):错误C3861:“\u mm\u fmadd\u sd”:找不到标

Z3优化最大和最小功能背后的理论是什么?

我写这篇文章是为了探究Z3优化函数背后的理论/算法,特别是它的最大值和最小值函数。这对我来说似乎很神奇。这是一种二进制搜索吗?它如何有效地计算出此处的最大/最小值 我试图搜索相关函数(例如,函数)的源代码,但对其中的术语没有深入的理解,这对我来说没有太多意义。。。基本上,lex在这里代表什么?看起来这些解决方案不知何故被保存在一个堆栈中 如有任何建议,我们将不胜感激。谢谢。请参阅有关此主题的出版物,例如 1.Nikolaj Bjorner和Anh Dung PhanνZ-对Z3的最大满意度。在P

Z3 精益是否增强了验证可测性?

通过证据可调查性,我了解到人类用户可以“追踪”证据的所有细节。有些东西不容易追踪。例如,SMT证明基于特定的启发式,然后将其转换为验证程序。在这种情况下,使用简单的机制(不需要是专家就可以让它们供您使用)来扫描证据失败的原因或检查证据程序的内部结构可能会很有用 我想知道,与Coq或Isabelle相比,Lean是否增强了这种证明可调查性。我得到的印象是,这可能是通过元编程框架进行形式验证的情况。如果我正确理解证明的可测性或可追溯性,那么根据定义,一个完全详细的证明是“100%可追溯的”,而仅仅说

如何在python中使用z3解算器获取中值约束

我得到了不同的向量,我想为不同的中位数设置约束。 其中,为向量的不同子集计算一些中间值 我想要一个约束条件 age=IntVector('age',10) 男=助推器(“男”,10) 工资=IntVector('salary',NUM) 我希望50岁以上的所有女性的工资中位数为50,而工资>70的所有男性的工资中位数为40 所以我知道如何过滤掉相关数据 If(和(男性[i]==False,年龄[i]>50) 我知道如何得到平均值例如: Sum([If(And(男性[i]==False,工资[

如何在Z3中得到CNF公式的每个子句

就像下面的代码一样,Z3中是否有函数可以获取公式的所有子句(作为CNF) 您可以执行以下操作: from z3 import * x = Bool('x') # Note: Bool() rather than Boolean() y = Bool('y') z = Bool('z') f = And(x, Or(x,y), And(x, z == Not(y))) # from https://stackoverflow.com/a/18003288/1911064 g =

z3PY中的api之一z3_solver中如何使用from_string函数

当我试图运行这段代码时,编译器提到“z3.z3types.Z3Exception:b”(错误“第1行第1列:无效命令,”(“预期”)\n不受支持\n“。公式应该是哪种形式,smt2.0还是python形状。您能帮我解决这个问题吗?您必须用SMTLib2语言提供输入,并确保声明了所有变量。下面是一个工作示例: 从z3导入* s=解算器() 公式=”“(声明常数x布尔) (宣布康斯特布尔) (断言(和x-y)) """ s、 from_字符串(公式) 打印(s.sexpr()) 打印(s.check

Z3\u ast reference counting是否统计Z3之外的引用?

在Z3中有两种模式:自动参考计数和手动 我了解手动参考计数的工作原理。多亏了这个例子 但Z3如何知道在自动引用计数情况下何时删除AST节点? 由于Z3_ast是C语言=>中的一个结构,因此在创建Z3_ast之后,不可能跟踪Z3_ast在Z3之外的所有赋值和用法 或仅Z3内部的Z3轨道引用?如果您这样做,则不会更新引用计数器,例如:ast1=ast2。自动模式使用非常简单的策略。每当AST返回给用户时,Z3将其存储在堆栈S上,并递增其参考计数器。 执行Z3_push功能时,Z3保存堆栈的大小S。当

Z3中的量词

基本上,我想让Z3给我一个值大于10的任意整数。因此,我写下以下声明: (declare-const x (Int)) (assert (forall ((i Int)) (> i 10))) (check-sat) (get-value(x)) 如何将此量词应用于我的模型?我知道您可以编写(断言(>x10))来实现这一点。但我的意思是,我希望在我的模型中有一个量词,所以每次我声明一个整型常量,它的值保证大于10。所以我不必为我声明的每个整数常量插入语句(assert(>x10)) 使用

Z3 无法打印的解算器。模型()

以下程序使用主git分支(commit 89c1785b)的最新版本Z3生成无法打印的Z3模型(即,print solver.model()引发异常): 产生: ForAll(x, Or(Not(a[x]), c[b[x]])) sat Traceback (most recent call last): File "z3bug.py", line 16, in <module> print solver.model() File "src/api/python/z3

Z3 4.3:获取完整的模型

这个问题和我的差不多,但解决方案对我不起作用。对不起,我想对这个答案发表评论,而不是问一个新问题,但我没有足够的声誉 我在做模特。有两层楼和上下两个按钮。我将转换建模为谓词动作x电梯x电梯(电梯=状态),这样T(a,s,s')保持动作a可能导致从s到s'的转换,其中动作按下向上或向下按钮。问题的可满足性并不取决于按下按钮的人,但我希望Z3为函数subject:Action->person分配一些解释 目标是为状态机找到一个k-跟踪,这可能有助于理解电梯的行为 我尝试了不同的选项组合,包括auto

z3中的定义集

为了在Z3中创建一组3个元素(1,2,3),我使用以下代码: (define-sort Set () ( Array Int Bool ) ) (declare-const s Set ) ( assert ( and ( = ( select s 1 ) true ) ( = ( select s 2 ) true ) ( = ( select s 3 ) true ) ) ) 我得到的模型如下: (model (define-fun s () (Arr

z3中蕴涵的简化

可以用z3来简化这个表达式吗 对这个 ??如果是,我们应该如何实现它?这两个表达式并不相等。特别是第一个公式意味着t_FC

z3在这个方程组中失效

多年来,我一直在跟踪解决技术问题——关于将它们应用于一个特定的难题——“跨越梯子” 为了开门见山,我无意中发现了z3,并尝试将其用于具体问题。我使用了Python绑定,并编写了以下内容: $ cat laddersZ3.py #!/usr/bin/env python from z3 import * a = Int('a') b = Int('b') c = Int('c') d = Int('d') e = Int('e') f = Int('f') solve( a>0,

使用push命令在Z3中进行增量求解

我正在使用Z3的PythonAPI进行某种增量求解。我在使用solver.push()命令检查每一步的不可满足性时,迭代地将约束推送到解算器。我想了解Z3是否会使用从以前的约束中学习到的引理,或者在使用新添加的约束求解时获得的满意解。我从不使用solver.pop()命令。在哪里可以获得关于如何使用以前迭代中完成的工作的更多详细信息?Z3有多个解算器,但其中只有一个真正支持增量解算和重用以前调用中的工作。默认情况下,只要执行solver.push(),Z3就会自动切换到增量解算器。此解算器还可以

如何让z3识别某些算术表达式的等价性?

我有一个非常简单的问题,我在这里提到相关部分: ;; All variables are declared to be of type Real (assert (and (<= 1.0 var1-r) (< var1-r 4.0))) ;;following defines var1-r (assert (= var1-r (+ a b))) ;;following defines var1-e (assert (=> (and (<= 1.0 var1-r) (&

用SMT在Z3中求解投影函数方程

我试图用Z3来解包含未知投影函数的方程,找到满足方程的函数的有效解释。比如方程:snd。f=g。fst有效的解释应该是f=\(x,y)->(y,x)和g=id。我知道Z3不是高阶的,所以我一直在尝试用一阶的形式对问题进行编码。例如,对于f=g.fstI使用: (declare-datatypes (T) ((Tree (leaf (value T)) (node (children TreeList))) (TreeList nil (cons (

Z3是否支持量化公式中的变量模式?

我想使用纯变量模式来获得使用量化公理编码的某些理论的决策过程。更准确地说,我想强制执行这些公理中的某些变量是用所有相应类别的术语实例化的。这些变量只出现在谓词符号下面,因此创建匹配循环没有危险 例如,考虑下面的部分查询: (declare-sort Loc 0) (declare-sort Map 2) (declare-fun read ((Map Loc Loc) Loc) Loc) (declare-fun Btwn ((Map Loc Loc) Loc Loc Loc) Bool) ..

从µ得到一个反例;Z3(喇叭解算器)

使用Z3的Horn子句解算器: 如果答案是SAT,则可以对未知谓词进行满意的赋值(在大多数应用中,这些谓词对应于某种转换系统或过程调用系统的归纳不变量) 如果答案是unsat,则这意味着存在Horn子句的展开和Horn子句中通用量化变量的赋值,从而至少违反了一个安全条件(标题为false的子句)。这是该制度没有解决办法的具体证据 我怀疑如果Z3能够得出unsat的结论,那么它内部就有某种形式的证人(如果我记得清楚的话,PDR就是这样)。有办法把它打印出来吗 也许我读得不好,但我找不到办法(获取证

Z3 如何访问钻头爆破时使用的变量映射?

我正在修改一个使用Z3(特别是Python API)来解决位向量约束的工具。我需要使用一个特定的外部SAT解算器,而不是内部的Z3解算器,所以我首先使用这个策略 Then('simplify', 'bit-blast', 'tseitin-cnf') 之后,我可以相对轻松地将子句转储到DIMACS文件中。问题是将生成的命题模型映射回原始约束的模型:据我所知,pythonapi没有提供访问对应于策略的模型转换器的方法。这是真的吗?如果是这样的话,可以使用不同的API来完成,还是有更简单的方法?基

Z3 具有两个以上变量的异或奇偶约束

我正在使用以下Python函数为Microsoft的Z3解算器的Python API建模Xor约束,并使用任意数量的变量: # parity function # break up long input lists in two smaller lists def odd(solver, lits): length = len(lits) check(length > 0, "Odd needs argument(s)") if length == 1:

Z3中用于解决这些不等式的正确策略集

这里x和k是整数 公式是:(50Z3不是一个用于简化这些表达式的通用符号引擎。即使你有一个很好的策略组合来满足你今天的需要,结果可能会在该工具的进一步版本中发生变化。你应该看看其他系统。即使像wolfram alpha这样的符号引擎也可能不会产生你真正想要的东西;但它可能会提供你想要的东西您可以选择一些更容易使用的替代表单。请参见此处:

Z3可以用来推理子字符串吗?

我试图使用Z3来解释子字符串,并且遇到了一些非直观的行为。当被要求确定“xy”是否出现在“xy”中时,Z3返回“sat”,但当被要求“x”是否出现在“x”中或“x”是否出现在“xy”中时,Z3返回“unknown” 我对以下代码进行了注释,以说明此行为: (set-logic AUFLIA) (declare-sort Char 0) ;characters to build strings are _x_ and _y_ (declare-fun _x_ () Char) (declare-

关于使用Z3Py online解决运输问题的问题

使用以下代码解决了运输现象中的某些问题: T_max, T_0, S, R, k, I, k_e, L, R, E, a = Reals('T_max T_0 S R k I k_e L R E a') k = a*k_e*T_0 I = k_e*E/L S = (I**2)/k_e eq = T_0 + S* R**2/(4*k) print eq equations = [ T_max == eq, ] print "Temperature equations:" print equatio

Z3可以在变量决策期间调用python函数吗?

我试图解决一个问题,例如,我有一个4分,每两个点之间有一个成本。现在我想找到一个节点序列,它的总开销小于一个界限。我已经写了一个代码,但它似乎不起作用。主要的问题是我定义了一个python函数,并试图在约束中调用它 这是我的代码:我有一个函数def getValn1,n2:其中n1,n2是Int-Sort。line Nodes=[Intn_U%s%i for i in rangetotalNodeNumber]将4个点定义为Int sort,当我添加约束s.addgetValNodes[0]、N

我们能用Z3来限制实数项的精度吗?

在我的一个SMT程序中,我使用了一个实术语。为了提高效率,我需要限制实数的精度,因为这个数字几乎有无穷多个解,尽管小数点后只需要5/6位。例如,实数的可能估值可以如下所示,但如果我们取小数点后的前七位数字,则所有实数的估值都是相同的 1197325/13631488=0.087835238530 19157213/218103808=0.087835298134 153257613/1744830464=0.087835245980 1226060865/13958643712=0.087835

Z3无效函数应用程序:不为false

我的程序中有以下行: return Z3_mk_not(ctx, term); 当我运行程序时,Z3在此行失败,并显示以下错误消息: WARNING: invalid function application, sort mismatch on argument at position 1 WARNING: (define not Bool Bool) applied to: false of sort Bool Error: type error 。。。有人知道这是怎么回事吗?我正在使用

在Z3中是否有添加假设假设的一般方法?

我只是刚刚开始,我很好奇是否有办法添加假设。使用(assert…)不是我想要的,因为对于我的应用程序,有时假设是错误的,因此一切都应该是可以满足的。我知道我可以使用暗示,比如(断言(暗示假设结论)),但是如果有很多假设,那么将我所有的断言转换成暗示似乎很笨拙。大致上我想要一个交互模型,比如 (假设……) (假设……) (断言……) (断言……) (检查sat)使用带有含义的断言是一条路,没有假设(请参阅SMT-LIB手册第3.9节) 如果您有许多要用作假设的断言,您可能希望使用其中一个编程A

z3';s SAT解算器在进行理论一致性检查之前是否获得完整的作业?

z3的SAT解算器在进行理论一致性检查之前是否获得了SMT问题命题部分的完整赋值?特别是,我很想知道以下每种背景理论/组合(如果这与理论有关):线性实数算术(LRA)、线性整数实数算术(LIRA)、非线性整数实数算术(NIRA)的默认设置是什么?此外,在实际代码(codeplex stable z3 v4.3.1)中,如果是SAT解算器确定的命题文字(启发式)?否,z3在进行理论一致性检查之前不会获得完整的赋值。 然而,它延迟了“昂贵”的支票。“昂贵”检查是在称为“最终检查”的步骤中执行的,该步

Z3 这个表达真的不正确吗?

我在调试我的代码,然后我遇到z3说这个表达式是unsat (and (not (>= s 13)) (>= s 0) (>= 13 s) (>= pc0_thread1 0) (>= pc1_thread1 0) (>= pc2_thread1 0) (>= pc3_thread1 0) (>= pc4_thread1 0) (>= pc0_main 0)

如何在Z3不动点中获得多个约束?

运行片段时 (declare-rel mypred (Int Int)) (declare-var A Int) (declare-var B Int) (declare-var C Int) (rule (mypred 1 0)) (rule (mypred 2 1)) (rule (mypred 3 2)) (rule (mypred 4 3)) (rule (mypred 5 4)) (rule (=> (and (mypred C B) (mypred A C)) (mypred

SMTLIB2/Z3中的多态函数

我对不能在Z3或SMTLIB2中创建“多态”函数的理解正确吗?e、 g.我想写一些类似于: (declare-fun Prop (A) Bool) (declare-fun x1 () Int) (declare-fun x2 () Bool) (assert (and (Prop x1) (Prop x2))) (我想我可以通过为 Int+Bool然后使Prop适用于联合类型,但需要 首先再次检查是否无法直接使用参数多态性?) 谢谢 这的确是正确的。SMTLib使用多个排序的一阶

为什么Z3查询失败

我正在试验Z3,更具体地说是muZ,但是有些查询失败了,我不明白为什么。 例如,这个含义的定义 (declare-rel imp (Bool Bool)) (declare-var post Bool) (rule (imp false post)) (rule (=> (imp true post) post)) (query (imp true false) :print-certificate true) 给出错误(错误“查询失败:头非法。头谓词需要不解释并注册(作为递归)(=

Z3C代码适用于某些循环计数,而不适用于其他循环计数

我已经编写了一个Z3程序(从test_capi.c开始),它在一些数字“参数”上循环,并为每个循环添加约束,这些约束依赖于前一个循环的约束。其思想是,每个周期选择2个项目a、d,这些项目可能是指针a、指针d从有序列表u、指针a、指针d中拾取的相同的旧a、d或新a、d 该代码适用于某些循环计数,而不适用于其他循环计数(给出sat与分段错误)。更奇怪的是,代码工作的循环计数在更改代码时会发生变化。所以下面的代码是SAT(我已经选择了n_ABCD=check3),但它只给出了“参数”从2到10的结果,

如何在z3py中表示对数公式

我对z3py很陌生。我试图用z3py编写以下对数表达式 log(x,y) 我确实经常搜索堆栈溢出,并遇到了一个类似的问题,但不幸的是,我没有得到足够令人满意的答案。请帮帮我 更一般地说,我们如何用Z3定义日志 我得到任何牵引力的唯一方法是使用e的近似值,将exp(x)定义为(^ex),然后将log定义为与exp相反的总函数。在SMT-LIB 2中: (define-fun exp ((x Real)) Real (^ 2.718281828459045 x)) (declare-fun log

如何分析z3性能问题?

我有37个类似的SMT2问题,每一个都有两个我称之为compact和unrolled的可均衡版本。问题是使用增量SMT解决,每个(检查sat)返回unsat。紧凑型使用QF_AUFBV逻辑,展开型使用QF_ABV。我确实在z3、yices和boolector中运行了它们(但是boolector只支持展开的版本)。此绩效评估的结果可在以下位置找到: 此示例的SMT2文件可从此处下载(~10 MB): 我使用:random seed选项的不同值运行每个解算器5次。(除了boolector不支持:

z3与浮点系数的解释

我在玩一个小的多目标整数规划问题: 在Z3(使用Python绑定)中,我们可以非常优雅地陈述这一点: from z3 import * x1,x2 = Ints('x1 x2') z1,z2 = Reals('z1 z2') opt = Optimize() opt.set(priority='pareto') opt.add(x1 >= 0, x2 >=0, x1 <= 2, x2 <= 2) opt.add(x1 <= 2*x2) # this versio

上一页   1   2   3   4   5    6  ... 下一页 最后一页 共 34 页