Commit 5d481aa8 authored by Vladislav Kiselev's avatar Vladislav Kiselev

Упрощение грузообработки.

parent fd4b2421
......@@ -287,17 +287,15 @@ array [1..n_operations] of 1..n_locations : operations_destination; % Локац
array [1..n_loading_op] of int : loading_op_delta;
array [1..n_loading_op] of 1..n_operations : loading_op_n; % Номера среди общего списка операций.
int : involved_operations_max_size;
array [1..n_obj_with_storage, 1..n_cargo_types] of 0..involved_operations_max_size : involved_operations_sizes;
array [1..n_obj_with_storage, 1..n_cargo_types, 1..involved_operations_max_size] of 1..n_loading_op : involved_operations;
array [1..n_obj_with_storage, 1..n_cargo_types] of set of 1..n_loading_op : involved_operations;
constraint forall (storage in 1..n_obj_with_storage, cargo in 1..n_cargo_types, t in 1..(n_intervals + 1)) (
storage_used_volume[storage, t, cargo] == (
storage_used_volume[storage, t, cargo] = (
storage_used_volume[storage, t - 1, cargo] +
cargo_flows[storage, t, cargo] +
sum (inv_op_no in 1..involved_operations_sizes[storage, cargo]) (
loading_op_delta[involved_operations[storage, cargo, inv_op_no]] *
op_status[loading_op_n[involved_operations[storage, cargo, inv_op_no]], t]
sum (inv_op in involved_operations[storage, cargo]) (
loading_op_delta[inv_op] *
op_status[loading_op_n[inv_op], t]
)
)
);
......
......@@ -768,8 +768,11 @@ public class ConversionUtil {
}
}
writer.write("n_loading_op = " + loadingOpDelta.size() + ";\n");
// write2DArrayOfSet(writer, "involved_operations", involvedOperations);
write2DArrayOfSetAs3DArray(writer, "involved_operations", involvedOperations);
if (task.isTypified()) {
write2DArrayOfSet(writer, "involved_operations", involvedOperations);
} else {
write2DArrayOfSetAs3DArray(writer, "involved_operations", involvedOperations);
}
writeArray(writer, "loading_op_delta", loadingOpDelta);
writeArray(writer, "loading_op_n", loadingOpN, (Integer i) -> i + 1);
writer.write("\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment