Problema 1. Sono dati N cerchi nel piano cartesiano. Di ogni cerchio conosciamo il raggio. Si trovi la disposizione dei (centri dei) cerchi nel piano tale per cui: 1. i cerchi non siano sovrapposti 2. i cerchi siano tutti contenuti in un cerchio piu' grande 3. il raggio del cerchio che li contiene sia minimo. Cerchio Raggio 1 2,00 2 4,00 3 7,00 4 6,00 5 1,00 Si provi poi con cerchi di raggio crescente linearmente: Cerchio Raggio 1 1,00 2 2,00 3 3,00 4 4,00 5 5,00 ecc. Problema 2. Data una regione rettangolare, compresa tra i punti di ascissa -100 e 100 e di ordinata -50 e 50, e dati 16 cerchi di cui sono noti i centri e i raggi, come riportato nella tabella, determinare raggio e centro di due cerchi uguali, tangenti fra loro, non sovrapposti, di raggio massimo, e tali che a) non si sovrappongono ad alcuno dei cerchi dati e b) sono completamente interni alla regione. Cerchio x y r A -80 30 5 B -87 -15 2 C -81 -35 4 D -59 25 4 E -25 -30 4 F -33 -15 2 G -12 1 5 H - 6 43 5 I 0 -24 8 J 10 10 9 K 20 -15 2 L 30 25 2 M 41 -31 10 N 55 15 5 O 69 -10 10 P 80 28 9 Problema 3. Una societa telefonica deve posizionare le antenne per la trasmissione del segnale ai telefoni cellulari in una nuova zona prima non coperta dal servizio. La societa ha a disposizione 5 possibili siti, dai quali deve coprire interamente le 5 aree nelle quali la zona e stata convenzionalmente divisa. Ogni sito ha un costo di realizzazione (indicato nella prima tabella) e copre un dato sottoinsieme di aree (indicate dalle crocette nella seconda tabella). Sito 1 2 3 4 5 Costo 18 40 5 21 16 Sito 1 2 3 4 5 Area 1 x x x Area 2 x x Area 3 x x x Area 4 x x x Area 5 x x x Problema 4. Si determini il cammino minimo fra il nodo origine e quello destinazione nel grafo definito nel seguente file .dat; set Nodi := 1 2 3 4 5 6; set Archi := (1,2) (1,4) (2,3) (2,6) (3,4) (4,1) (4,5) (5,1) (5,6) (6,3) ; set Origine := 1; set Destinazione := 6; param Costo := [1,2] 8 [1,4] 6 [2,3] 2 [2,6] 5 [3,4] 5 [4,1] 5 [4,5] 6 [5,1] 7 [5,6] 4 [6,3] 8 ; Problema 5. Sono stati effettuati sette esperimenti ciascuno dei quali ha dato origine a tre valori, corrispondenti a tre coordinate spaziali. Si vuole dividere l'insieme di esperimenti in due classi in modo da minimizzare la massima differenza per ciascuna coordinata fra esperimenti che stanno in classi diverse. Esperimento Esito 1 83 14 42 2 38 63 56 3 28 24 12 4 59 7 53 5 25 35 83 6 52 86 85 7 59 64 25 Problema 6. Bin packing Dato un insieme di oggetti da trasportare tramite containers ed un insieme di containers di capacita' nota, decidere come assegnare gli oggetti ai containers in modo da trasportare tutti gli oggetti, senza eccedere la capacita' dei containers. Ogni oggetto ha due valori associati, peso e volume, i containers hanno due corrispondenti capacita' e costi diversi. Si vuole minimizzare il costo complessivo dei containers usati. Oggetto; Peso; Volume 1 10 260 2 24 140 3 18 190 4 7 220 5 7 180 6 6 250 7 16 170 8 11 200 9 8 140 10 11 170 11 1 190 12 6 230 13 15 230 14 8 180 15 2 250 Container; Costo; Capacita'(peso); Capacita'(volume) 1 900 45 800 2 1000 50 900 3 1200 60 1000 4 1300 80 1100 Problema 7. Commesso viaggiatore. tsp.mod param n > 0, integer; set V := 1..n; param d{V,V} >= 0; param numerocicli >= 0, integer, default 0; set ciclo{1..numerocicli}; var x{V,V} binary; minimize costociclo : sum{i in V, j in V : i != j} d[i,j]*x[i,j]; subject to successore {i in V} : sum{j in V : i != j} x[i,j] = 1; subject to predecessore {j in V} : sum{i in V : i != j} x[i,j] = 1; subject to nocicli {k in 1..numerocicli} : sum{i in ciclo[k], j in V diff ciclo[k]} x[i,j] >= 1; tsp.dat param n := 7; param d : 1 2 3 4 5 6 7 := 1 0 86 49 57 31 69 50 2 0 0 68 79 93 24 5 3 0 0 0 16 7 72 67 4 0 0 0 0 90 69 1 5 0 0 0 0 0 86 59 6 0 0 0 0 0 0 81 7 0 0 0 0 0 0 0 ; Costruire il file .run che risolve, identifica i sottocicli, aggiunge le disuguaglainze, fino a quando il problema viene risolto. Ogni problema viene risolto con variabili intere.