首页 > 解决方案 > 使用 assert 函数在 minizinc 中输出求解的时间和日期

问题描述

想象一下我有下面的代码,它会输出断言语句,因为条件不满足。

int: x =40;
var int:y;

constraint y=x;

现在想象我从数据文件中获取 x 的值,用户可以在其中输入任何值。但我限制用户只输入正数到 x。(X 不能是负数)。

constraint assert(x>=0,"Please enter a positive value to X");

solve satisfy;

想象一下用户输入-2,所以它会输出上面的语句。我需要用上面的语句打印日期和时间。(至少时间)。在 minizinc 中有什么方法可以做到这一点。

标签: minizinc

解决方案


(我会将我的评论转换为答案,因此您可以根据需要接受。)

MiniZinc 中没有用于执行此操作的内置函数。一个建议是您通过一个包装器(例如 Python MiniZinc 包,见下文)运行它以捕获错误,然后打印日期和时间。

Python MiniZinc 包在这里:https ://minizinc-python.readthedocs.io/en/latest/getting_started.html


推荐阅读