问题标签 [picos-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 指定python模块的开发版本
我想向PICOS 添加一个新类,一个 python 模块。我很久以前就以正常方式安装了它。但是现在我已经下载了源代码,并且我正在尝试进行一些更改。
问题是我无法让 python 从开发文件夹而不是普通文件夹加载模块。
虽然源代码在这里:
因此,我所做的更改不予考虑。
python - 用 picos 变量制作 Qobj
我需要编写一个半定程序,在 tr_A(R)^{Tb} >>0 的约束下最小化运算符的踪迹,比如 R。这意味着 R 代表一个 3 qubit 量子系统,并且第一个系统上的迹线为您提供了一个表示剩余 2 qubit 系统的运算符。对其中一个量子位进行部分转置,得到受限 2 量子位系统的部分转置量子态。正是这种状态,我想使半正定。我正在使用 PICOS(编写 SDP)和 qutip(执行操作)。
问题:我需要把Rho做成Qobj,qutip才能理解,但是上面的Rho只是Variable类的一个实例。任何人都知道如何做到这一点?
我也看了这里,http ://picos.zib.de/tuto.html#variables ,它变得更加混乱,因为这个函数将实例放在字典中并且只给你一个键。
python - PICOS 中的极小极大优化
我有一个关于如何使用 Python 中的 PICOS 包解决 Min-Max 类型的优化问题的一般问题。在搜索PICOS 文档和网络时,我在这方面的信息很少。
我可以想象以下形式的一个简单示例。
给定一个矩阵 M,求 x* = argmin_x [ max_y x^TM y ],其中 x > 0, y > 0, sum(x) = 1 和 sum(y) = 1。
我尝试了一些方法,从最直接的想法开始,即在 PICOS 问题类的目标函数中使用minimax
关键字minmax
。事实证明,这些关键字都不是有效的,请参阅目标函数的包文档。此外,具有嵌套的目标函数也被证明是无效的。
在我最后一次天真的尝试中,我有两个函数,Max() 和 Min(),它们都在解决线性优化问题。外部函数 Min() 应该最小化内部函数 Max()。因此,我在外部优化问题的目标函数中使用了 Max()。
当我运行上面的代码时,它给了我以下错误消息。
在这一点上,我被卡住了,无法解决这个问题。
只是 PICOS 本身不支持 min-max 问题,还是我对问题的编码方式不正确?
请注意:我坚持使用 PICOS 的原因是理想情况下,我想知道在解决最小-最大半定规划 (SDP) 的背景下我的问题的答案。但我认为添加半定约束并不难,一旦我能弄清楚如何使用 PICOS 解决一个简单的最小-最大问题。
python - 不能对 PICOS 优化中的矩阵变量施加半正定约束
我正在尝试使用 Picos 包解决以下半定程序。实际上,这是解决 3 个子图情况下的 maxcut 问题的 SDP 松弛。
我得到以下输出:
问题是,虽然我要求 Y 是半正定maxcut.add_constraint(Y>>0)
的,但当我检查它的特征值时,并不是所有的特征值都是非负的。
当我删除对角线 ( 上的约束时maxcut.add_constraint(pic.tools.diag_vect(Y)==1)
,这个问题就解决了。但是,我确实需要这个约束。
如果您能建议我的代码有什么问题,那就太好了...提前谢谢您!
mathematical-optimization - 如何构建 Picos 仿射表达式?
我使用 picos 作为 LP 建模语言。但是,我得到以下不一致:
(1-eta_tmp) * a_tmp
和a_tmp - eta_tmp * a_tmp
应该是同一个意思。但打印输出未更正:
他们都应该输出# (1 x 1)-affine expression: a -eta*a #
. 它是一个错误吗?如果是这样,我该如何报告?
python - 使用多处理从另一个类调用类方法的实例
我需要在调用另一个类的方法的类中使用多处理技术。下面的解释。
我正在编写多代理策略。因此,我的代码分为 3 个类:
- 代理类
- 环境等级
- 主要的。
在代理类中,我正在运行一个返回决策变量字典的 MILP 问题:
类环境接收来自所有代理的输出以计算“社区”输出。由于每个代理都是一个独立的实体,代理将并行计算他们的优化问题。因此,我想在环境类中使用多处理来获取所有代理的决策
然后在 main 中调用方法community_output()
:
请问我该如何进行?
由于我有一个实例方法列表作为可迭代对象,因此我尝试了以下方法:
这仅在我删除Env
类并将其所有处理放在之前的情况下才有效def job(instance)
。
当我将它集成到Env
课堂上时:
我得到了错误:
我注意到:
是方法返回的字典agent.Optimisation
,picos
是使用的优化API。
任何线索我该如何解决这个问题?