使用SMT解算器进行资源分配。

smartalloc的Python项目详细描述


智能分配

使用微软z3定理证明器的实用函数集合 找到优先分配的有限资源的最大分配 要执行的离散任务。

资源和任务

smartalloc被设计成与z3库周围的包装一样薄 可能,因此它不定义称为“resource”或“task”的类。

相反,z3原语(如int或real)被视为资源,并且 分配给它们的任务由(z3的集合)表示 约束条件。

分配

smartalloc的主要工作是allocate()函数。它需要 两个参数:资源的内在约束,以及 每个任务所需的约束。

立即应用内部资源约束,如果系统 已经没有解决方案,则将引发异常。在这之后, 每个任务的约束都会添加到系统中。如果系统仍然 可满足,则该任务被视为“已完成”,下一个任务将是 补充。如果系统不可满足,则该任务将从 移动到下一个之前的系统。提供的所有任务将尝试 添加到系统中;任务的顺序决定到哪个任务 先申请必要的资源。

allocate()函数返回两个项的元组。第一个是 分配描述对象(以Z3模型的形式)。价值 资源变量可以像字典一样使用它来检索 资源变量作为键。第二个是 来自输入的任务在分配结果中“工作”。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX TableView更新单元格,不更新对象值   在扫描器中使用分隔符的java   java OkHttp 4.9.2,连接无法重用,导致端口耗尽   eclipse中的c JNI:运行Java代码   java是否在出厂的所有硬件设备中都有/mnt/sdcard/Android/data文件夹(或等效文件夹)?   Java,在eclipse中访问资源文件夹中的图像   java为什么Bluemix dashDB操作抛出SqlSyntaxErrorException,SQLCODE=1667?   JavaHtmlUnitWebClient。getPage不处理javascript   Google API认证的java问题   java如何将JSON数组反序列化为Apache beam PCollection<javaObject>   ServerSocket停止接收命令,java/安卓   来自Java类的安卓 Toast消息   java如何自动重新加载应用程序引擎开发服务器?   java是否可以尝试/捕获一些东西来检查是否抛出了异常?   java如何做到这一点当我按下load game时,它不仅会加载信息,还会将您带到游戏中?   Java选项Xmx代表什么?   Java映射,它在插入时打印值   设置“ulimit c unlimited”后,java无法生成系统核心转储