diff --git a/src/constraints/conversion_2.mzn b/src/constraints/conversion_2.mzn index 4c8c61b2433b6fdf82083fb4c1d492673db5007c..9c11664e55fdb444812d727d84515036e4e1e998 100644 --- a/src/constraints/conversion_2.mzn +++ b/src/constraints/conversion_2.mzn @@ -40,7 +40,10 @@ array [1..n_moving_obj, 1..n_operations] of bool : moving_op_of_obj; constraint forall (loc in 1..n_locations, t in 0..n_intervals where (loc mod 2) = 0) ( obj_in_loc_counter[loc, t] = (sum (obj in 1..n_moving_obj) (m_obj_loc[obj, t + 1] = loc)) % Швартовка и нахождение у причала. + (sum (op in related_unmoored_cargo_op[twin_location[loc]]) (op_status[op, t])) % Погрузка без швартовки. - + (sum (op in 1..n_operations where (is_mooring_op[op] /\ (main_obj_start_loc[op] mod 2 = 0))) % Отшвартовка. + % + (sum (op in 1..n_operations where ((not is_moving_operation[op]) /\ (main_obj_start_loc[op] = twin_location[loc]))) % Погрузка без швартовки. + % (op_status[op, t]) + % ) % TODO узнать, почему медленнее варианта выше. + + (sum (op in 1..n_operations where (is_mooring_op[op] /\ (main_obj_start_loc[op] = loc))) % Отшвартовка. (op_status[op, t]) ) );