sprawozdanie 3 wariant a i b doc


Monika Rapacz

Gr lab 8.

Metody Optymalizacji Dyskretnej

Problem Komiwojażera
Sprawozdanie nr 3

n - miast

cij - odległość miedzy i-tym a j-tym miastem

  1. Zapis modelu matematycznego w AMPL:

Wariant A

var x{i in N, j in N} binary; `zmienna decyzyjna:

minimize droga: sum{i in N, j in N}c[i,j]*x[i,j]; ` funkcja celu:

`ograniczenia:

subject to OUTPUT{i in N: i>1}: sum {j in N:j<>i}x[i,j]=1;

subject to INPUT {j in N: j>1}: sum{i in N:i<>j}x[i,j]=1;

subject to CICLE{s in SQ}: sum{i in Q[s], j in N diff Q[s]}x[i,j]>=1;

`podcykle miast


set Q[1]:= 1;

set Q[2]:= 2;

set Q[3]:= 3;

set Q[4]:= 4;

set Q[5]:=5;

set Q[6]:= 1,2;

set Q[7]:= 1,3;

set Q[8]:= 1,4;

set Q[9]:= 1,5;

set Q[10]:= 2,3;

set Q[11]:= 2,4;

set Q[12]:= 2,5;

set Q[13]:= 3,4;

set Q[14]:= 3,5;

set Q[15]:= 4,5;

set Q[16]:= 1,2,3;

set Q[17]:= 1,2,4;

set Q[18]:= 1,2,5;

set Q[19]:= 1,3,4;

set Q[20]:= 1,3,5;

set Q[21]:= 1,4,5;

set Q[22]:= 2,3,4;

set Q[23]:= 2,3,5;

set Q[24]:= 2,4,5;

set Q[25]:= 3,4,5;

set Q[26]:= 1,2,3,4;

set Q[27]:= 1,2,3,5;

set Q[28]:= 1,2,4,5;

set Q[29]:= 1,3,4,5;


parametr cij - odległość między miastem i a miastem j:

param c:1 2 3 4 5:=

1 0 105 255 655 1005

2 100 0 415 450 540

3 250 410 0 275 486

4 650 420 300 0 25

5 1000 360 481 25 0;

Wariant B

var x{i in N, j in N} binary; `zmienna decyzyjna

minimize droga: sum{i in N, j in N: i>j}c[i,j]*x[i,j]; `funkcja celu

subject to OUTPUT{i in N}: sum{j in N}x[i,j]=2; `ograniczenia

subject to INPUT{j in N}: sum{i in N}x[i,j]=2;

subject to droga{i in N, j in N}: x[i,j]=x[j,i];

subject to ogr4{i in N}: x[i,i]=0;

parametr cij - odległość między miastem i a miastem j:

param c:1 2 3 4 5:=

1 0 100 250 650 1000

2 100 0 410 420 360

3 250 410 0 300 481

4 650 420 300 0 25

5 1000 360 481 25 0;

  1. Interpretacja otrzymanych wyników:

Wariant A

Wyznaczenie drogi, jaką pokonuje komiwojażer:

x[1,3] * 1

x[2,1] * 1

x[3,4] * 1

x[4,5] * 1

x[5,2] * 1

graficznie:

0x08 graphic
Po jej uporządkowaniu otrzymujemy:

z miasta 1 do miasta 3,

z miasta 3 do miasta 4,

z miasta 4 do miasta 5,

z miasta 5 do miasta 2

i z miasta 2 do miasta 1.

Długość tej trasy to 1015.

W wariancie A w kolumnie Activity poszczególne ograniczenia oznaczają:

Podcykle, które nie wchodzą w skład wyznaczonej drogi:


CICLE3[8] 2

CICLE3[9] 2

CICLE3[10] 2

CICLE3[11] 2

CICLE3[14] 2

CICLE3[17] 2

CICLE3[20] 2

CICLE3[21] 2

CICLE3[22] 2

CICLE3[23] 2


Wariant B

Wyznaczenie drogi, jaką pokonuje komiwojażer:

0x08 graphic
x[2,1] * 1 0 1

x[3,1] * 1 0 1

x[4,3] * 1 0 1

x[5,2] * 1 0 1

x[5,4] * 1 0 1

x[1,2] * 1 0 1

x[1,3] * 1 0 1

x[3,4] * 1 0 1

x[2,5] * 1 0 1

x[4,5] * 1 0 1

Długość drogi jaką przebywa komiwojażer to 1035

Powtarzanie się par wierzchołków jest spowodowane brakiem ograniczenia porządkującego kolejność.

W wariancie B poszczególne ograniczenia oznaczają (interpretacja kolumny Activity):

Np. :

droga[1,2] 0

droga[2,1] 0

droga[3,4] 0

droga[4,3] 0

Minimize droga: sum{i in N, j in N:i>j}c[i,j]*x[i,j];

Zapis modelu:

param n:=5;

set N := 1..n;

param t;

param c{i in N, j in N};

var x{i in N,j in N}binary;

minimize droga: sum{i in N, j in N}(c[i,j]*x[i,j]);

subject to INPUT {j in N}:sum{i in N:i<>j}x[i,j]=1;

subject to OUTPUT {i in N}:sum{j in N:i<>j}x[i,j]=1;

0x08 graphic

0x08 graphic
Wyznaczenie drogi:

x[1,3] * 1

x[2,1] * 1

x[3,2] * 1

x[4,5] * 1

x[5,4] * 1

Rozwiązanie tego typu nie jest akceptowane dla problemu komiwojażera, ponieważ zostały wybrane dwie drogi : a miasta 4 do miasta 5 i z powrotem, oraz z miasta 1 do miasta 3, następnie do miasta 2 i z miasta 2 do miasta 1. Związane jest to z brakiem ograniczenia na podcykle.

3



Wyszukiwarka

Podobne podstrony:
Sprawozdanie 6 wariant A i B doc
sprawozdanie cw 1 (2) doc
sprawozdanie VII doc

więcej podobnych podstron