Está en la página 1de 3

#punto 1

#grupo:
#Santiago Vides Salcedo
#Jesus Daniel Molina Emiliani
#gabriela Mercedes luigi Peña

set nodoO := 1..5; # Fuente


set nodoD := 1..10; # Sumidero

param costo{i in nodoO, j in nodoD};


param capacidad{i in nodoO};
param demanda{j in nodoD};

var x{i in nodoO, j in nodoD} >= 0;

minimize funcionObj: sum{i in nodoO, j in nodoD} costo[i,j] * x[i,j]; # Minimizar costos

s.t. ofertaR{i in nodoO}: sum{j in nodoD} x[i,j] <= capacidad[i]; # La capacidad no puede sobrepasarse
s.t. demandaR{j in nodoD}: sum{i in nodoO} x[i,j] >= demanda[j]; # La demanda debe cumplirse

s.t. restriccion1{j in nodoD}: 2 * (x[1,j] + x[5,j]) >= x[2,j] + x[4,j];


s.t. restriccion2: sum{i in nodoO, j in nodoD: i=3 and j=4} x[i,j] >= 10;
s.t. restriccion3: sum{i in nodoO, j in nodoD: i=4 and j=8} x[i,j] >= 15;
s.t. restriccion4: sum{i in nodoO, j in nodoD: i=3} x[i,j] >= 200;
s.t. restriccion5: sum{j in nodoD} x[1,j] + sum{j in nodoD}x[2,j] + sum{j in nodoD}x[3,j] >= 550;

data;
param costo:
1 2 3 4 5 6 7 8 9 10:=
1 120 80 85 75 94 85 98 105 125 135
2 110 0 85 78 92 104 110 112 130 85
3 90 0 0 74 88 0 55 78 80 0
4 78 117 60 64 0 78 69 77 74 78
5 65 47 78 75 44 122 71 45 68 88;

param demanda :=
1 85
2 95
3 110
4 70
5 60
6 75
7 90
8 95
9 100
10 120;
param capacidad :=
1 450
2 110
3 210
4 120
5 250;

#punto 2

param nArquitectos := 7;
param nProyectos := 12;
param maxProyectosPorArquitecto := 3;

param preferencias{1..nArquitectos, 1..nProyectos};


param habilidades{1..nArquitectos, 1..nProyectos};
param arquitectosRequeridos{1..nProyectos};

var x{1..nArquitectos, 1..nProyectos} binary;


maximize totalPreferencia: sum{i in 1..nArquitectos, j in 1..nProyectos} preferencias[i,j] * x[i,j];

subject to AsignacionPorProyecto{j in 1..nProyectos}: sum{i in 1..nArquitectos} x[i,j] =


arquitectosRequeridos[j];

subject to MaxProyectosPorArquitecto{i in 1..nArquitectos}: sum{j in 1..nProyectos} x[i,j] <=


maxProyectosPorArquitecto;

subject to HabilidadArquitecto{i in 1..nArquitectos, j in 1..nProyectos}: x[i,j] <= habilidades[i,j];


data;
param preferencias :
1 2 3 4 5 6 7 8 9 10 11 12 :=
1454343234532
2323235555222
3553333444555
4111122222444
5333342222333
6555555554444
7 4 4 4 4 4 4 4 4 4 4 2 2;
param habilidades :
1 2 3 4 5 6 7 8 9 10 11 12 :=
1100001001001
2001101011011
3100110010101
4001110110110
5010000101011
6110011101001
7 1 1 1 1 0 0 1 0 1 1 1 0;
param arquitectosRequeridos :=
11
22
31
41
51
61
71
81
91
10 2
11 1
12 1;

También podría gustarte