aboutsummaryrefslogtreecommitdiffstats
path: root/apps/pci/optimizers/solver/min_confusion_inl.mzn
diff options
context:
space:
mode:
authorVikas Varma <vikas.varma@att.com>2020-05-05 14:08:34 +0000
committerGerrit Code Review <gerrit@onap.org>2020-05-05 14:08:34 +0000
commit1b493a741b87880181a027fe102d295fcbd6f7cb (patch)
tree132c4156fc5c3360a5e180ee351d6bbcdaa444bf /apps/pci/optimizers/solver/min_confusion_inl.mzn
parent070488fcb919b2cdffca8a3739b0f9abbb9414f4 (diff)
parente07bb7a6bce3fa331c3e556395663dd77bc02676 (diff)
Merge "Change to support PCI unchangeable cells"
Diffstat (limited to 'apps/pci/optimizers/solver/min_confusion_inl.mzn')
-rw-r--r--apps/pci/optimizers/solver/min_confusion_inl.mzn16
1 files changed, 16 insertions, 0 deletions
diff --git a/apps/pci/optimizers/solver/min_confusion_inl.mzn b/apps/pci/optimizers/solver/min_confusion_inl.mzn
index 0f0fc91..e677e27 100644
--- a/apps/pci/optimizers/solver/min_confusion_inl.mzn
+++ b/apps/pci/optimizers/solver/min_confusion_inl.mzn
@@ -52,6 +52,14 @@ int: NUM_IGNORABLE_NEIGHBOR_LINKS;
% of the links, like the previous structures.
array[1..NUM_IGNORABLE_NEIGHBOR_LINKS, 1..2] of int: IGNORABLE_NEIGHBOR_LINKS;
+% ids of cells for which the pci should remain unchanged
+set of int: PCI_UNCHANGEABLE_CELLS;
+
+% This array has the original pcis of all the cells. array is indexed by the ids
+% of the cell. eg. ORIGINAL_PCIS[3] returns the pci of cell whose id is 3.
+% ids start from 0
+array[1..NUM_NODES] of 0..NUM_PCIS-1: ORIGINAL_PCIS;
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Decision variables
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -65,6 +73,14 @@ array[1..NUM_IGNORABLE_NEIGHBOR_LINKS] of var 0..1: used_ignorables;
% Constraints
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% fixed pci cells
+constraint
+if(length(PCI_UNCHANGEABLE_CELLS) !=0) then
+forall(i in PCI_UNCHANGEABLE_CELLS)(
+ pci[i] == ORIGINAL_PCIS[i+1]
+)
+endif;
+
% Direct neighbors must have different PCIs for avoid **COLLISION**.
% Forced links.
constraint