Труды КНЦ вып. 11 (ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ) вып. 8/2020 (11)

5. V = 1, V 2 = 3, V 3 = 6 , V 4 = 2. 6 . V = 1, V2 = 3, V3 = 6 , V4 = 3. 7. V 1 = 2, V 2 = 3, V 3 = 5, V 4= 3. 8 . V 1 = 2, V 2 = 3, V 3 = 6 , V 4= 3. Это ограничение имеет реализацию в популярных системах(библиотеках) программирования в ограничениях (таблица 4). Таблица 4. Реализация ограничения at_most в популярных библиотеках Constraint Programming Библиотека Choco GeCode JaCoP MiniZinc Имя ограничения occurenceMax count/atmost count at most count(y, V, R, c) - количество переменных из множества V, принимающих значение y, должно быть R (R Е {=, >=, >, <=, <, !=}) значению c [4]. Является обобщением предыдущих ограничений. Так, count(y, V, =, c) равносильно among(c, V, y); count(y, V, >=, c) равносильно at_least(c, V, y); count(y, V, <=, c) равносильно at_most(c, V, y). Либо count можно представить комбинацией ограничеений: count(y, V, R, c) <=> among(t, V, y) && (t R c), где R Е {=, >=, >, <=, <, !=} Это ограничение имеет реализацию в популярных системах(библиотеках) программирования в ограничениях (таблица 5). Таблица 5. Реализация ограничения count в популярных библиотеках Constraint Programming Библиотека Choco GeCode JaCoP MiniZinc Имя ограничения occurence count count count global_cardinality(V, C, N) - количество переменных из множества V, принимающих значение C[i], должно быть равно N[i] [5]. Пример 5: Пусть V Е {3, 4}, V 2 Е {2, 3}, V 3 Е {1, 2}, V 4 Е {2, 3, 4}, V 5 Е {2, 3}, V 6 Е {1, 2}, C = {1, 2, 3, 4}, N 1 Е {1}, N 2 Е {2, 3}, N 3 Е {0, 1}, N 4 Е {2, 3}, тогда всеми решениями, удовлетворяющими ограничению global_cardinality({V\, V 2 , V 3 , V 4 , V 5 , V 6 }, C, {N 1 , N 2 , N 3 , N 4 }) будут: 1. V 1= 4, V 2= 2, V 3= 1, V 4= 4, V 5= 2, V 6= 2, N 1= 1, N 2= 3, N 3= 0, N 4 = 2. 2. V 1 = 4, V 2 = 2, V 3 = 1, V 4 = 4, V 5 = 3, V6 = 2, N 1 = 1, N 2 = 2, N 3 = 1, N 4 = 2. 3. V 1 = 4, V 2 = 2, V 3 = 2, V 4 = 4, V 5 = 2, V6 = 1, N 1 = 1, N 2 = 3, N 3 = 0, N 4 = 2. 4. V 1 = 4, V 2 = 2, V 3 = 2, V 4 = 4, V 5 = 3, V6 = 1, N 1 = 1, N 2 = 2, N 3 = 1, N 4 = 2. 5. V 1 = 4, V 2 = 3, V 3 = 1, V 4 = 4, V 5 = 2, V6 = 2, N 1 = 1, N 2 = 2, N 3 = 1, N 4 = 2. 6. V = 4, V 2 = 3, V 3 = 2, V 4 = 4, V 5 = 2, V6 = 1, N 1 = 1, N 2 = 2, N 3 = 1, N 4 = 2. Это ограничение имеет реализацию в популярных системах(библиотеках) программирования в ограничениях (таблица 6). 74

RkJQdWJsaXNoZXIy MTUzNzYz