0

我对 cligo 和 ASP 很陌生。任何指针将不胜感激!

我正在尝试为调度问题编写程序。我将得到的输入是:

person(id, employee_type, max_workload, previous_workload, payment). 

我想将其拆分为多个谓词,例如:

employee_type(person_id, type)
max_workload(person_id, workload)

等等。

我可以轻松地将employee_type 定义为:

{emp_type(EID, (f;c)}:-emp(EID). 

在哪里f - full time ; c- contractor.

但在工作量、付款的情况下,唯一的条件是这将是一个正整数。我如何定义这些谓词?

根据工作量、薪酬和员工类型的价值,我有多个硬约束和软约束。

谢谢!

4

1 回答 1

1

弄清楚了。要将单个谓词拆分为多个谓词:

emp_type(EID,ET) :- person(EID, ET, _, _, _).
max_workload(EID,MW) :- person(EID,_,MW,_,_).

等等

于 2021-02-16T01:11:51.597 回答