You are on page 1of 61

TSP

Pheromone Trails

One ant tends to follow strong concentrations


of pheromone caused by repeated passes of ants; a
pheromone trail is then formed from nest to food source,
so in intersections between several trails an ant moves
with high probability following the highest pheromone
level.

3 Ant Colony Optimization


18-02-2014
Pheromone Trails continued
Individual ants lay pheromone trails while travelling
from the nest, to the nest or possibly in both
directions.
The pheromone trail gradually evaporates over time.
But pheromone trail strength accumulate with
multiple ants using path.

4 Ant Colony Optimization


18-02-2014
Pheromone Trails: Example

5 Ant Colony Optimization


18-02-2014
Ant Colony Optimization Algorithms:
Basic Ideas
Ants are agents that:

Move along between nodes in a graph.

They choose where to go based on pheromone strength (and maybe other


things)

An ants path represents a specific candidate solution.

When an ant has finished a solution, pheromone is laid on its path,


according to quality of solution.

This pheromone trail affects behaviour of other ants by `stigmergy


6 18-02-2014
Ant Colony Optimization
Travelling Salesman Problem (TSP)
Given a list of cities and the distances between each pair
of cities, what is the shortest possible route that visits
each city exactly once and returns to the origin city?

7 Ant Colony Optimization


18-02-2014
E.g. A 4-city TSP
Initially, random levels of pheromone are scattered on the edges

A B

D
Pheromone C

AB: 10, AC: 10, AD: 30, BC: 40, CD: 20


Ant 8 18-02-2014
Ant Colony Optimization
E.g. A 4-city TSP
An ant is placed at a random node
A B

D
Pheromone C

AB: 10, AC: 10, AD: 30, BC: 40, CD: 20


Ant 9 18-02-2014
Ant Colony Optimization
E.g. A 4-city TSP
The ant decides where to go from that node,
based on probabilities
calculated from: A B
- pheromone strengths,
- next-hop distances.

Suppose this one chooses BC

D
Pheromone C

AB: 10, AC: 10, AD: 30, BC: 40, CD: 20


Ant 10 18-02-2014
Ant Colony Optimization
E.g. A 4-city TSP
The ant is now at C, and has a tour memory = {B, C} so he cannot
visit B or C again.
Again, he decides next hop A B
(from those allowed) based
on pheromone strength
and distance;
suppose he chooses
CD

D
Pheromone C

AB: 10, AC: 10, AD, 30, BC: 40, CD: 20


Ant 11 18-02-2014
Ant Colony Optimization
E.g. A 4-city TSP
The ant is now at D, and has a `tour memory = {B, C, D}
There is only one place he can go now:
A B

D
Pheromone C

AB: 10, AC: 10, AD, 30, BC: 40, CD: 20


Ant 12 18-02-2014
Ant Colony Optimization
E.g. A 4-city TSP
So, he has nearly finished his tour, having gone over the links:
BC, CD, and DA. A B

D
Pheromone C

AB: 10, AC: 10, AD, 30, BC: 40, CD: 20


Ant 13 18-02-2014
Ant Colony Optimization
E.g. A 4-city TSP
So, he has nearly finished his tour, having gone over the links:
BC, CD, and DA. AB is added to complete the round trip.
A B

Now, pheromone on the tour


is increased, in line with the
fitness of that tour.

D
Pheromone C

AB: 10, AC: 10, AD, 30, BC: 40, CD: 20


Ant 14 18-02-2014
Ant Colony Optimization
E.g. A 4-city TSP

A B

Next, pheromone everywhere


is decreased a little, to model
decay of trail strength over
time

D
Pheromone C

AB: 10, AC: 10, AD, 30, BC: 40, CD: 20


Ant 15 18-02-2014
Ant Colony Optimization
E.g. A 4-city TSP
We start again, with another ant in a random position.
A B

Where will he go?

Next , the actual algorithm


and variants.

D
Pheromone C

AB: 10, AC: 10, AD, 30, BC: 40, CD: 20


Ant 16 18-02-2014
Ant Colony Optimization
The ACO algorithm for the TSP
[a simplified version with all essential
details]

We have a TSP, with n cities.


1. We place some ants at each city. Each ant then does this:
It makes a complete tour of the cities, coming back to its starting city,
using a transition rule to decide which links to follow. By this rule, it
chooses each next-city at random, but biased partly by the pheromone
levels existing at each path, and biased partly by heuristic information.
2. When all ants have completed their tours.
Global Pheromone Updating occurs.
The current pheromone levels on all links are reduced (I.e. pheromone
levels decay over time).
Pheromone is laid (belatedly) by each ant as follows: it places
pheromone on all links of its tour, with strength depending on how
good the tour was.
Then we go back to 1 and repeat the whole process many
times, until we reach a termination criterion.
17 18-02-2014
Ant Colony Optimization
3. Combinatorial Optimization
1. Knapsack Problem
2. Quadratic Assignment Problem
3. Minimum Spanning Tree Problem
3.1 Quadratic Minimum Spanning Tree Problem
3.2 Degree-constrained Minimum Spanning Tree
3.3 Bicriteria Minimum Spanning Tree Problem
4. Set Covering Problem
5. Bin Packing Problem
6. Traveling Salesman Problem

18 WASEDA UNIVERSITY , IPS Soft Computing Lab.


3. Minimum Spanning Tree Problem
In a real-life network optimization situation, the problem often requires
satisfying additional constraints.

Models Authors
capacitated MST Kershenbaum (1974)
degree-constrained MST Narula and Ho (1980)
stochastic MST Ishii et al. (1981)
quadratic MST Xu (1984)
probabilistic MST Bertsimas (1990)
multi-criteria MST Zhou and Gen (1996)
leaf-constrained MST Fernandes et al. (1998)

Some researchers used genetic algorithms to deal with them.


Models Authors
probabilistic MST Palmer and Kershenbaum(1995)
degree-constrained MST Zhou and Gen (1997,1998)
capacitated MST Zhou and Gen (1997)
quadratic MST Zhou and Gen (1998)
multi-criteria MST Zhou and Gen (1998)
leaf-constrained MST Zhou and Gen (1998)
19 WASEDA UNIVERSITY , IPS Soft Computing Lab.
3. Minimum Spanning Tree Problem
Basic Concept of Minimum Spanning Tree Problem
Data table of example network
Minimum Spanning Tree (MST) problem is one of (i, j) wij
the traditional optimization problems. (1, 2) 2
Given a finite connected graph, the problem is to (1, 6) 5
(1, 8) 3
find a least-weight subgraph connecting all vertices.
(2, 3) 4
2 (2, 8) 6
1 2
3 6 (3, 4) 2
4
(3, 9) 2
5 8
(4, 5) 1
1 3 (4, 9) 8
7 2 (5, 6) 6
6 4 3
7 9 (5, 7) 2
2 (6, 7) 7
6 2 8
wij (7, 8) 1
i j (7, 9) 4
1
5 4 (8, 9) 3
Fig. 3.1 Example of network model Table for non-directed graph
Tavakoly, B.: Gene Expression Data Clustering With Minimum Spanning Tree, Department of
Information Systems and Computing, Brunel University, May 2003.
20 WASEDA UNIVERSITY , IPS Soft Computing Lab.
3. Minimum Spanning Tree Problem
Notations
Indices
i, j : the index of node, i, j =1, 2, , n

Parameters
n: the total number of nodes in the network
V: the finite set of nodes (vertices) representing terminals
S : the subset of nodes
wij : the weight of connecting node i to node j, i.e., the weight of
link (i,j); the weight matrix (wij) is symmetric.

Decision Variables
xij : the 0,1 decision variable; 1, if link (i,j) is selected, and 0, otherwise.

21 WASEDA UNIVERSITY , IPS Soft Computing Lab.


3. Minimum Spanning Tree Problem
Basic Concept of Minimum Spanning Tree Problem

Consider a connected graph G=(V, E), where


V={v1, v2, , vn} or {1, 2, , n} is a finite set of nodes
E={(i,j) | i,jV} is a finite set of edges representing connections
between these vertices.
Each edge has a positive real number denoted by W={w12, w13, , wn-
1,n} representing distance or cost.

n 1 n
min f ( x ) wij xij 1
w12=2 ,x12=1
2
i 1 j i 1 w18=3 ,x18=1

n 1 n 8 w23=4 ,x23=1

s. t.
i 1 j i 1
xij n 1 : connectivity
6
w67=5 ,x67=1
w78=1 ,x78=1

w79=4 ,x79=1
3
7 9
n 1 n

x
w49=8 ,x49=1
| S | 1, S V \{1},| S | 2 : no loop
w56=6 ,x56=1
ij
iS jS 5 4
j 1
Fig. 3.2 Simple MST Model
xij 0 or 1, i , j 1, 2, ..., n

22 WASEDA UNIVERSITY , IPS Soft Computing Lab.


3. Minimum Spanning Tree Problem
Kruskals Algorithm
Kruskal, J. B.: On the shortest spanning tree of a graph and the traveling salesman
problem, Proceedings of the American Mathematical Society, vol.7, pp.48-50, 1956.
Thomas H, E. Charles and L. Rivest,: Introduction to Algorithms, The MIT Press,
1996.
Horowitz, E., A. Sahni and S. Rajasekaran: Computer Algorithms/C++, Computer
Science Press, 1997.
Drozdek, A.: Data Structures and Algorithms, Brooks/Cole, 2000.

procedure 1: Kruskals Algorithm


input: graph G=(V, E), weight wij , (i, j) A
output: spanning tree T
begin
T;
AE; // A: eligible edges
while |T|<|V|-1 do
choose an edge (u, v)argmin{wij |(i,j)A};
AA-{(u, v)};
If u and v are not yet connected in T then
TT{(u, v)};
end
output spanning tree T;
end
23 WASEDA UNIVERSITY , IPS Soft Computing Lab.
3. Minimum Spanning Tree Problem
Example of Kruskals Algorithm
2 2 2
1 2 1 2 1 2
3 6 3 6 3 6
5 8 4 5 8 4 5 8 4
1 3 1 3 1 3
6 7 4 2 3 6 7 4 2 3 6 7 2 3
4
7 9 7 9 7 9
2 2 2
6 2 8 6 2 8 6 2 8
1 1 1
5 4 5 4 5 4

2 2 2
1 2 1 2 1 2
6 6 3 6
3 3
5 5 5 8 4
8 4 8 4
1 1 1 3
3 3
7 7 6 7 4 2 3
6 4 2 3 6 4 2 3 7 9
7 9 7 9
2 2 2
2 2 6 2 8
6 8 6 8
1 1 1
5 4 5 4 5 4

f (x*)=2418 WASEDA UNIVERSITY , IPS Soft Computing Lab.


1.2 Introduction of MST Problem
Table 1: Trace table of Kruskals Algorithm
fitness
edge
step eligible edges A weight {wij} |T| spanning tree T z
(u, v)

{(1, 2), (1, 6), (1, 8), (2, 3), (2, 8), (3, 4),
{2, 7, 3, 4, 6, 2, 2, 1, 8, 6,
1 (3, 9), (4, 5), (4, 9), (5, 6), (5, 7), (6, 7), 0 (4, 5) {(4, 5)} 1
2, 5, 1, 4, 3}
(7, 8), (7, 9), (8, 9)}
{(1, 2), (1, 6), (1, 8), (2, 3), (2, 8), (3, 4),
{2, 7, 3, 4, 6, 2, 2, 8, 6, 2,
2 (3, 9), (4, 9), (5, 6), (5, 7), (6, 7), (7, 8), 1 (7, 8) {(4, 5), (7, 8)} 2
5, 1, 4, 3}
(7, 9), (8, 9)}
{(1, 2), (1, 6), (1, 8), (2, 3), (2, 8), (3, 4),
{2, 7, 3, 4, 6, 2, 2, 8, 6, 2,
3 (3, 9), (4, 9), (5, 6), (5, 7), (6, 7), (7, 9), 2 (1, 2) {(4, 5), (7, 8), (1, 2)} 4
5, 4, 3}
(8, 9)}
{(1, 6), (1, 8), (2, 3), (2, 8), (3, 4), (3, 9), {7, 3, 4, 6, 2, 2, 8, 6, 2, 5,
4 3 (3, 4) {(4, 5), (7, 8), (1, 2), (3, 4)} 6
(4, 9), (5, 6), (5, 7), (6, 7), (7, 9), (8, 9)} 4, 3}
{(1, 6), (1, 8), (2, 3), (2, 8), (3, 9), (4, 9), {7, 3, 4, 6, 2, 8, 6, 2, 5, 4, {(4, 5), (7, 8), (1, 2), (3, 4),
5 4 (3, 9) 8
(5, 6), (5, 7), (6, 7), (7, 9), (8, 9)} 3} (3, 9)}
{(1, 6), (1, 8), (2, 3), (2, 8), (4, 9), (5, 6), {(4, 5), (7, 8), (1, 2), (3, 4),
6 {7, 3, 4, 6, 8, 6, 2, 5, 4, 3} 5 (5, 7) 10
(5, 7), (6, 7), (7, 9), (8, 9)} (3, 9), (5, 7)}
{(1, 6), (1, 8), (2, 3), (2, 8), (4, 9), (5, 6), {(4, 5), (7, 8), (1, 2), (3, 4),
7 {7, 3, 4, 6, 8, 6, 5, 4, 3} 6 (1, 8) 13
(6, 7), (7, 9), (8, 9)} (3, 9), (5, 7), (1, 8)}
{(1, 6), (2, 3), (2, 8), (4, 9), (5, 6), (6, 7), {(4, 5), (7, 8), (1, 2), (3, 4),
8 {5, 4, 6, 8, 6, 7, 4, 3} 7 (1, 6) 18
(7, 9), (8, 9)} (3, 9), (5, 7), (1, 8), (1, 6)}
25 WASEDA UNIVERSITY , IPS Soft Computing Lab.
3. Minimum Spanning Tree Problem
Prims Algorithm
Prim, R. C.: Shortest connection networks and some generalizations, Bell Systems
Technology Journal, vol.36, pp. 1389-1401, 1957.
Thomas, H., E. Charles and L. Rivest: Introduction to Algorithms, The MIT Press, 1996.
Horowitz, E., A. Sahni and S. Rajasekaran: Computer Algorithms/C++, Computer
Science Press, 1997.
Drozdek, A.: Data Structures and Algorithms, Brooks/Cole, 2000
procedure 2: Prims Algorithm
input: graph G=(V, E), weight wij , (i, j) A
output: spanning tree T
begin
T;
choose a random starting node sV;
CC{s}; // C: set of connected nodes
AA{(s, v), v V}; // A: eligible edges
while CV do
choose an edge (u, v)argmin{wij | (i,j)A};
AA-{(u, v)};
If v C then // connect v to the partial tree
TT{(u, v)};
CC{v};
AA{(v, w)| (v, w)wC };
end
end
output spanning tree T;
26 end WASEDA UNIVERSITY , IPS Soft Computing Lab.
3. Minimum Spanning Tree Problem
Example of Prims Algorithm
2
2 1 2
1 2 3 6
2 3 6 2
1 2 1 2 5 8 4
3 6 5 8 4 3 6
1 3
1 3
5 8 4 5 8 4
7 2
1 3 6 7 4 2
3 1 3 6 7
4
9 3
7 9
7 2 2
6 7 4 2
3 2 6 7
4
9 3
7 9 2 8 6 2 8
6
2 2 1
2 8 5
1
4 6 2 8 5 4
6
1 1
5 4 5 4
Select a node
at random
2
2 1 2
1 2 3 6
2 3 6 2
1 2 1 2 5 8 4
3 6 5 8 4 3 6
1 3
5 8 4 1 3
5 8 4 7 2
1 3 7 2 6 7
4
9 3
6 7
4
9 3 1 3
7 2 2
6 7
4
9 3 2 6 7 4 2
3 2 8
2 8 7 9 6
6
2 1
6 2 8 1
2 5 4
5 4 6 2 8
1
5 4 5 1
4

f (x*)=2718 WASEDA UNIVERSITY , IPS Soft Computing Lab.


PENJADWALAN PERKULIAHAN
DENGAN MENGGUNAKAN
ALGORITMA MAX-MIN ANT
SYSTEM
Penjadwalan
Masalah penjadwalan kuliah atau University Course
Timetablling Problem (UCTP) merupakan masalah yang
sangat kompleks hingga saat ini. Inti dari penjadwalan
kuliah adalah bagaimana menjadwalkan sejumlah
komponen yang terdiri atas kelas, ruang, dan waktu
dengan sejumlah batasan dan syarat (constraint) tertentu.
Untuk menyelesaikan permasalahan tersebut digunakan
algoritma MAX-MIN Ant System (MMAS) yang merupakan
variasi dari Algoritma Ant Colony Optimation (ACO)
sehingga diharapkan akan diperoleh hasil yang optimal
berdasarkan sifat algoritma tersebut.
Pendahuluan
Masalah penjadwalan kuliah atau University Course
Timetabling Problem (UCTP) merupakan masalah kompleks
yang seringkali dihadapi setiap universitas. Inti dari
penjadwalan kuliah adalah bagaimana menjadwalkan
sejumlah komponen yang terdiri atas kelas, mata kuliah,
waktu, dan ruang pada setiap harinya dengan sejumlah
batasan dan syarat (constraint) tertentu dengan tujuan agar
tidak terjadi bentrok antara jadwal yang satu dengan
jadwal yang lain.
Algoritma pencarian konvensional yang dapat digunakan
untuk melakukan proses penjadwalan kuliah :
breadth-first search
depth-first search
breadth-first search
depth-first search
kecenderungan untuk memberikan hasil dengan solusi
yang baik
Permasalahan :
Penjadwalan kuliah akan diselesaikan dengan
menggunakan algoritma MAX-MIN Ant System

diharapkan akan diperoleh hasil penjadwalan yang baik


(optimal).
Solusi optimal dalam penjadwalan : ???
Solusi optimal dalam penjadwalan : ???

Tidak bentrok antar MK


Jumlah kelas sesuai dengan mhs yang mengambil
MK
dll
Hard constraint
Adapun kendala-kendala yang merupakan hard constraint
adalah sebagai berikut:
Kelas hanya dijadwalkan satu kali untuk setiap mata kuliah yang
ada [hard contstraint I].
Kelas yang sama tidak dapat belajar pada ruang yang berbeda
dalam satu waktu [hard contstraint II].
Kelas yang sama tidak dapat belajar lebih dari satu mata kuliah
dalam satu waktu [hard contstraint III].
Mata kuliah akan diberikan alokasi waktu yang
berkesinambungan sesuai sks yang dimiliki oleh mata kuliah
tersebut (tidak diperkenankan sks dari mata kuliah tersebut
terpotong oleh jadwal lain atau terjadi pergantian hari) [hard
contstraint IV].
Jika waktu yang diberikan tidak memadai untuk penjadwalan,
maka sistem tidak akan menghasilkan jadwal [hard contstraint V].

Penjadwalan yang baik adalah penjadwalan yang tidak mengandung bentrok antar komponen
yang dijadwalkan, dalam hal ini berupa kelas, waktu, dan ruang.
Soft constraint
Ruang yang digunakan oleh suatu kelas dalam satu hari
diharapkan terdapat pada gedung yang sama [soft contstraint I].
Dari enam hari perkuliahan dalam satu minggu diharapkan
setiap kelas sebaiknya mendapatkan satu atau dua hari
perkuliahan yang kosong [soft contstraint II].
Dalam satu hari perkuliahan diharapkan jumlah jam perkuliahan
untuk satu kelas tidak terlalu banyak dan tidak terlalu sedikit,
sebaiknya antara empat sampai enam jam perkuliahan [soft
contstraint III].
Soft constraint
Soft contraint ini tidak mutlak harus terpenuhi, namun
diharapkan terpenuhi agar solusi yang diperoleh
merupakan solusi yang lebih baik
Batasan Masalah:

Pada penjadwalan perkuliahan ini hanya akan dilakukan


penjadwalan untuk Teknik Informatika semester genap
dari tingkat awal sampai tingkat akhir untuk semua jenjang
(kelas reguer).
Mata kuliah yang berjenis laboratorium (fisika dan
komputer) diasumsikan dijadwalkan secara manual
Diasumsikan hasil penjadwalan yang diperoleh dapat
diterima baik oleh dosen maupun mahasiswa
Waktu yang digunakan adalah dari hari Senin sampai
dengan Sabtu (dari jam 07.20 sampai dengan 16.00) untuk
setiap slot waktu bernilai 50 menit (waktu yang digunakan
untuk 1 SKS)
Max-Min Ant System

Ant Colony Optimation (ACO) pertama kali diperkenalkan


oleh Marco Dorigo, ACO itu sendiri terinspirasi oleh
koloni-koloni semut dalam mencari makan.

Semut-semut tersebut meninggalkan zat (pheromone) di


jalan yang mereka lalui. Algoritma ACO ini merupakan
algoritma pencarian berdasarkan probabilistik, di mana
probabilistik yang digunakan merupakan probabilistik
dengan bobot sehingga butir pencarian dengan bobot yang
lebih besar akan berakibat memiliki kemungkinan terpilih
yang lebih besar pula.
Gambar 1. Perilaku nyata semut dalam mencari makanan

Dari gambar di atas maka Pheromone ACB > pehromone


ADB

Algoritma umum ACO


masukan data permasalahan
while not selesai do
bangkitkan semut
bangkitkan solusi
update pheromone
hancurkan semut
end while
keluarkan solusi
Persamaan update pheromone MMAS

keterangan:
T(e,t) adalah kandungan pheromone
e pada saat t.
P adalah derajat penguapan
pheromone.
Mulai

Alur Proses Event,


waktu

Buat Graf

Telusuri
Graf

Update
Pheromone node
pada graf

Apakah semua koloni dan TIDAK Cari koloni, semut


semut sudah menelusuri
terbaik
graf ?

YA

Cari koloni, semut


terbaik Global

Output

Selesai

Gambar 2. Diagram Alir Algoritma MMAS


Perancangan Penjadwalan Perkuliahan
Dengan Algoritma Mmas

Perancangan sistem penjadwalan perkuliahan dengan


menggunakan algoritma MMAS akan dibagi menjadi
beberapa bagian yaitu:

1.Parameter yang digunakan pada penjadwalan


disini adalah:
Timeslot=6 hari x 15 timeslot/hari = 90 timeslot
P (derajatpenguapan heromone)=0.3
T max=1/p=1/0.3=3.3
Tmin=0.19
2. Perancangan pembuatan node graf

e1 e2 e3 e4 e5 e6 e7 e193
t1 O O O O O O O O
t2 O O O O O O O O
t2 O O O O O O O O
t4 O O O O O O O O
t5 O O O O O O O O
t6 O O O O O O O O
t7 O O O O O O O O
t8 O O O O O O O O
t9 O O O O O O O O

t10 O O O O O O O O
t11 O O O O O O O O
t12 O O O O O O O O
t13 O O O O O O O O
..
t90 O O O O O O O O

Gambar3. Node yang terbentuk (event=193, timeslot=90)


3. Perancangan penelusuran graf
Misal terdapat tiga kemungkinan pemilihan node dan
kandungan pheromonenya,
Yaitu: node (e2,t1 ) =0.2, node (e2,t2)=0.3, dan node
(e2,t3)=0.4.
peluang (e2,t1 )=2/9, (e2,t1 )=3/9
dan (e2,t1 )=4/9
4. Perancangan penghitungan pelanggaran soft constraint
Untuk pelanggaran soft constraint I tiap kelas yang
melanggar diberi nilai 1, Soft constraint II tiap kelas
yang melanggar diberi nilai sesuai dengan banyak
hari yang digunakan untuk penjadwalan, dan soft
constraint II tiap kelas yang melanggar diberi niai 1.
5. Perancangan Update pheromone
Cari koloni dan semut terbaik(nilai pelanggran soft
constraint terkecil), maka didapatkan pula node-node yang
dilalui koloni dan semut tersebut.
Update pehromone semua node dengan persamaan:

( e,t ) (1 ). ( e,t )
Sedangkan untuk node yang merupakan penelusuran
koloni dan semut terbaik, maka pheromone nya diupdate
lagi dengan menambah 1. Kemudian lakukan pengecekan
sebagai berikut, untuk semua node:

min , jika ( e,t ) min



( e ,t ) max , jika ( e,t ) max

( e ,t )
Implementasi Dan Pengujian Program
Pengujian Kasus Sederhana
Untuk lebih memudahahkan penjelasan maka, maka bagian
ini Akan menggunakan ilustrasi penanganan sistem pada
Contoh kasus sederhana, adapun kasus nya adalah sebagai
berikut:

Tabel 1. Pasangan kelas dan mata kuliah


yang diikuti, untuk kasus sederhana
Tabel 2. Ruang yang digunakan untuk penjadwalan

Hari yang digunakan untuk penjadwalan adalah Senin s/d


Rabu di mana timeslot/hari =5 (07.00 s/d 10.45)
Setelah aplikasi dijalankan diperoleh data sebagai berikut:

Koloni semut Nilai


1 1 13.0
1 2 14.0
1 3 18.0
1 4 10.0
1 5 13.0
2 1 9.0
2 2 13.0
2 3 13.0
2 4 10.0
2 5 13.0
3 1 18.0
3 2 14.0
3 3 8.0
3 14.0
4

3 13.0
5

Tabel 3. Koloni, semut dan nilai pelanggaran soft conatraint-nya.


e1 e2 e3 e4 e5 e6 e7 e8 e9

t1

t2

t3

t4

t5

t6

t7

t8

t9

t10

t11

t12

t13

t14

t15

Gambar 4. Penelusuran node oleh koloni=3 dan semut=3


Hasil penelusuran node per node akan disimpan
pada ruang yang memungkinkan
Peanggaran soft constraint I:
Kelas IF-1=0, IF-2=0, IF3=0
Pelanggran soft constraint II:
Kelas IF-1=0, IF-2=0, IF-3=3
Pelanggaran Soft constraint III:
Kelas IF-1=1,kelas IF-2=1, kelas IF-3=3
Total pelanggaran=0+3+5=8.
Pengujian Studi Kasus
Untuk selanjutnya pada bagian ini akan dilakukan
pengujian dengan menggunakan Studi kasus nyata yaitu:

Hari yang digunakan adalah enam hari dan masing-masing


hari terdiri atas 15 timeslot Sehingga total timeslot=90
timeslot
Mata kuliah yang dijadwalkan sebanyak 42, kelas sebanyak
36, dan event yang merupakan pasangan kelas dan event
sebanyak 193.
Total node yang terbentuk=90*193=17370.
Koloni yang digunakan=5 dan semut =3
Percobaan ini dimulai pada jam 12:48:13 dan berakhir pada jam 13:16:14.
Berikut Informasi Mengenai Koloni, Semut Serta Nilai Pelanggaran Soft Constraint
yang diperoleh:

Koloni= 1, Semut= 1, Pelanggaran= 220


Koloni= 1, Semut= 2, Pelanggaran= 184
Koloni= 1, Semut= 3, Pelanggaran= 198
Koloni= 2, Semut= 1, Pelanggaran= 190
Koloni= 2, Semut= 2, Pelanggaran= 186
Koloni= 2, Semut= 3, Pelanggaran= 197
Koloni= 3, Semut= 1, Pelanggaran= 194
Koloni= 3, Semut= 2, Pelanggaran= 193
Koloni= 3, Semut= 3, Pelanggaran= 200
Koloni= 4, Semut= 1, Pelanggaran= 176
Koloni= 4, Semut= 2, Pelanggaran= 192
Koloni= 4, Semut= 3, Pelanggaran= 191
Koloni= 5, Semut= 1, Pelanggaran= 210
Koloni= 5, Semut= 2, Pelanggaran= 215
Koloni= 5, Semut= 3, Pelanggaran= 194
Koloni= 1, Semut= 1, Pelanggaran= 220
Koloni= 1, Semut= 2, Pelanggaran= 184
Koloni= 1, Semut= 3, Pelanggaran= 198
Koloni= 2, Semut= 1, Pelanggaran= 190
Koloni= 2, Semut= 2, Pelanggaran= 186
Koloni= 2, Semut= 3, Pelanggaran= 197
Koloni= 3, Semut= 1, Pelanggaran= 194
Koloni= 3, Semut= 2, Pelanggaran= 193
Koloni= 3, Semut= 3, Pelanggaran= 200
Koloni= 4, Semut= 1, Pelanggaran= 176
Koloni= 4, Semut= 2, Pelanggaran= 192
Koloni= 4, Semut= 3, Pelanggaran= 191
Koloni= 5, Semut= 1, Pelanggaran= 210
Koloni= 5, Semut= 2, Pelanggaran= 215
Koloni= 5, Semut= 3, Pelanggaran= 194

Dari data di atas terlihat bahwa iterasi terbaik adalah iterasi dari koloni=4 dan semut=1 dengan
nilai pelanggaran soft constraint terkecil (176). Hasil pelanggran soft constraint terkecil tersebut
cenderung diperoleh bukan pada iterasi pertama. Dengan demikian dapat disimpulkan bahwa
update pheromone berpengaruh terhadap pencarian jadwal yang lebih baik.

You might also like