!   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) );