! programma master: bisogna prelevare l'ottimo duale
e riscriverlo nel programma generatore;
se il valore ottimo del generatore e` maggiore di 1
la soluzione ottima z del generatore va aggiunta
come ultima riga di a, e bisogna incrementare di 1 il numero di pattern ;
SETS:
types/1..8/:r;
patt/1..8/:x;
pattype(patt,types):a;
ENDSETS
DATA:
a=
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
;
r=35 50 20 70 60 40 100 25;
ENDDATA
min=@SUM(patt:x);
@FOR(types(i):[dual]@SUM(patt(j):a(j,i)*x(j)) > r(i) );