2. LANDASAN TEORI
2.1. Resource Leveling
2.1.1. Definisi Resource Leveling
Pemerataan sumber daya manusia atau dikenal dengan istilah resource leveling merupakan sebuah teknik yang dilakukan untuk menyesuaikan waktu start dan finish proyek berdasarkan keterbatasan sumber daya dengan tujuan untuk meratakan kebutuhan sumber daya per hari-nya (PMI, 2004). Jadi resource leveling dilakukan dengan tujuan untuk meratakan fluktuasi kebutuhan sumber daya manusia per-harinya.
Dalam melakukan resource leveling ini, biasanya akan berdampak pada bertambahnya durasi proyek. Sebaiknya tidak ada penambahan durasi proyek pada saat melakukan resource leveling, kecuali resource limit yang terbatas dan banyaknya aktivitas pada jalur kritis sehingga durasi proyek akan bertambah (Weber, 2005). Agar dapat melakukan resource leveling tanpa menambah durasi proyek, harus mampu menggunakan float yang tersedia dengan sangat baik. Dengan memanfaatkan setiap float yang tersedia, serta memahami aktivitas yang menjadi prioritas pada proyek, maka resource leveling dapat dilakukan dengan baik.
2.1.2. Formulasi Objective Function untuk Optimasi Resource Leveling
Tujuan dari mencari solusi dari masalah resource leveling adalah untuk mengurangi permintaan sumber daya yang tinggi dan kebutuhan harian dari sumber daya tersebut berdasarkan durasi proyek itu sendiri, serta bersamaan dengan pernyataan bahwa adanya jumlah sumber daya yang tidak terbatas (Prayogo et al., 2018). Studi ini menganggap resource leveling sebagai sebuah permasalahan optimasi. Constraints dan objective function pada studi ini diadopsi dari Cheng et al. (2017) sebagai berikut:
𝑓 = 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝑍 (2.1)
Mengarah kepada:
ST𝑖 − ES𝑖 ≤ TF𝑖; ST𝑖 ≥ 0; 𝑖 = 1,2, … , 𝐷,
dimana Z merupakan suatu objective function yang digunakan untuk menunjukkan resource leveling, seperti yang ditampilkan dalam Tabel 2.1 (Damci & Polat, 2014).
STi adalah start time dari aktivitas i. ESi dan TFi adalah early start dan total float dari aktivitas i. D adalah nomor dari aktivitas dalam proyek.
Tabel 2.1. Objective Function untuk Resource Leveling
Nomor Objective Function
Kriteria Optimasi Persamaan Notasi
F1
Jumlah minimum dari deviasi absolut dalam penggunaan resource harian
𝑍 = min ∑|𝑅𝑑𝑒𝑣𝑖|
𝑇
𝑖=1
min i T Rdevi
= minimize
= hari yang dipertimbangkan
= durasi proyek
= deviasi antara resource diperlukan di hari ke-i dan i+1
F2
Jumlah minimum hanya dari hari dengan pertambahan penggunaan resource dari hari sebelumnya
𝑍 = min ∑|𝑅𝑖𝑛𝑐𝑖|
𝑇
𝑖=1
min i T Rinci
= minimize
= hari yang dipertimbangkan
= durasi proyek
= pertambahan antara resource diperlukan di hari ke-I dan i+1
F3
Jumlah minimum dari deviasi absolut antara penggunaan resource dan rata-rata penggunaan resource proyek setiap hari
𝑍 = min ∑|𝑅𝑖− 𝐴𝑟𝑟|
𝑇
𝑖=1
min i T Ri
Arr
= minimize
= hari yang dipertimbangkan
= durasi proyek
= resource yang diperlukan di hari ke-i
= rata – rata penggunaan resource
F4
Jumlah minimum dari penggunaan resource harian yang terbanyak
𝑍 = min[max(𝑅𝑖)]
min max i Ri
= minimize
= maximum
= hari yang dipertimbangkan
= resource yang diperlukan di hari ke-i
F5
Jumlah minimum dari deviasi maksimum dalam penggunaan resource harian
𝑍 = min[max|𝑅𝑑𝑒𝑣𝑖|]
min max i Rdevi
= minimize
= maximum
= hari yang dipertimbangkan
= deviasi antara resource diperlukan di hari ke-i dan i+1
Tabel 2.1. Objective Function untuk Resource Leveling (Sambungan)
F6
Jumlah minimum dari nilai deviasi absolut maksimum antara penggunaan resource harian dan rata-rata
penggunaan resource setiap hari
𝑍 = min[max|𝑅𝑖− 𝐴𝑟𝑟|]
min max i Ri
Arr
= minimize
= maximum
= hari yang dipertimbangkan
= resource yang diperlukan di hari ke-i
= rata – rata penggunaan resource
F7
Jumlah minimum dari penjumlahan kuadrat dari penggunaan resource harian
𝑍 = min 𝑀𝑥∑(𝑅𝑖)2
𝑇
𝑖=1
min i T Ri
= minimize
= hari yang dipertimbangkan
= durasi proyek
= resource yang diperlukan di hari ke-i
F8
Jumlah minimum dari penjumlahan kuadrat dari deviasi dalam penggunaan resource harian
𝑍 = min ∑(𝑅𝑑𝑒𝑣𝑖)2
𝑇
𝑖=1
min i T Rdevi
= minimize
= hari yang dipertimbangkan
= durasi proyek
= deviasi antara resource diperlukan di hari ke-i dan i+1
F9
Jumlah minimum dari penjumlahan kuadrat dari deviasi antara penggunaan resource harian dan rata-rata penggunaan resource setiap hari
𝑍 = min ∑(𝑅𝑖− 𝐴𝑟𝑟)2
𝑇
𝑖=1
min i T Ri
Arr
= minimize
= hari yang dipertimbangkan
= durasi proyek
= resource yang diperlukan di hari ke-i
= rata – rata penggunaan resource
2.2. Metode Metaheuristik
Metaheuristik dapat didefinisikan sebagai metode lanjut berbasis heuristik untuk menyelesaikan persoalan optimisasi secara efisien (Talbi, 2009). Algoritma metaheuristik memiliki kecepatan pencarian solusi optimal yang lebih baik daripada metode tradisional. Dalam penerapannya, metaheuristik merupakan salah satu metode optimasi yang menggabungkan konsep dari computer science dan matematika terapan (Talbi, 2009).
Optimasi dengan menggunakan metode metaheuristik terdiri dari empat proses utama (Talbi, 2009), yaitu :
1. Memformulasikan masalah
Segala faktor yang menyebabkan suatu permasalahan baik internal maupun eksternal harus diidentifikasi. Faktor-faktor yang telah diidentifikasi akan dipilih untuk dioptimasi.
2. Merumuskan masalah
Setelah faktor-faktor yang dioptimasi ditentukan, maka faktor-faktor tersebut akan dirumuskan dalam perumusan yang merepresentasikan tujuan dari optimasi.
3. Optimasi
Setelah permasalahan dirumuskan, maka selanjutnya dilakukan proses optimasi dengan metode-metode metaheuristik. Hasil dari proses optimasi akan dijadikan sebagai solusi dalam permasalahan.
4. Implementasi solusi
Solusi yang dihasilkan tidak dapat langsung diimplementasikan begitu saja, Perlu adanya pertimbangan dari perencana agar solusi tersebut dapat diterapkan dengan tepat. Implementasi dari solusi yang diberikan juga perlu dievaluasi dampaknya pada permasalahan. Apabila hasilnya kurang optimal, maka algoritma dalam optimasi tersebut perlu dikembangkan lebih lanjut.
2.2.1. Particle Swarm Optimization (PSO)
Particle Swarm Optimization (PSO) merupakan algoritma yang diciptakan pertama kali oleh Eberhart dan Kennedy (Eberhart & Kennedy, 1995). PSO adalah teknik optimasi berdasarkan populasi yang terinspirasi oleh perilaku sosial dari pergerakan burung atau ikan (bird flocking atau fish schooling). PSO sebagai alat optimasi menyediakan prosedur pencarian berbasis populasi dimana masing-masing individu yang disebut partikel mengubah posisi mereka terhadap waktu (Rosita et al., 2012). PSO merupakan salah satu metode metaheuristik yang pencarian solusi berdasarkan populasi dari sekelompok burung atau ikan, dimana setiap populasi memiliki individu yang dapat mempengaruhi individu lainnya. Individu tersebut disebut juga sebagai partikel yang diperlakukan seperti sebuah titik pada suatu dimensi ruang waktu tertentu (Santosa & Willy, 2011).
Cara kerja PSO adalah dimulai dari menginisialisasi suatu populasi acak yang diberi nama partikel pada suatu area pencarian. Partikel ini pada mulanya akan menempati suatu lokasi secara acak yang disebut sebagai vektor koordinat di dalam ruang pencarian. Kemudian, setiap partikel akan diberi kecepatan v secara acak untuk bergerak dari satu lokasi ke lokasi lain yang pada akhirnya menuju ke suatu goal atau lokasi paling optimal (Putra et al., 2018).
Karakteristik PSO dirumuskan oleh Kennedy dan Eberhart (1995) yang dimodelkan dalam Persamaan 2.2.
vi(t + 1) = wvi (t) + r1c1(Xpbest – Xi(t)) + r2c2(Xgbest – Xi(t)) (2.2) Posisi suatu partikel yang baru dapat dihitung dengan Persamaan 2.3.
Xi(t + 1) = Xi(t) + vi(t + 1) (2.3) Keterangan rumus :
vi(t + 1) = kecepatan partikel
w = berat partikel
vi (t) = kecepatan partikel saat ini r1,r2 = angka acak antara 0-1 c1,c2 = konstanta
Xpbest(t) = posisi pBest
Xi(t) = posisi partikel saat ini Xgbest(t) = posisi gBest
Xi(t + 1) = posisi partikel
Secara garis besar, proses algoritma PSO diilustrasikan melalui Gambar 2.1.
Gambar 2.1. Flowchart Metode PSO Mulai
Inisialisasi parameter PSO
Kelompok partikel pertama dihasilkan
Evaluasi fitness dari seluruh partikel
Memperbarui hasil terbaik global (global best) Menyimpan fitness terbaik
seluruh partikel
Kriteria terminasi dipenuhi ?
Selesai Ya
Memperbarui posisi partikel
Memperbarui velocity partikel
Tidak
2.2.2. Artificial Bee Colony (ABC)
Artificial Bee Colony (ABC) merupakan algoritma probabilistik yang berbasis Swarm Intelligence. Swarm Inteligence merupakan sistem kecerdasan buatan yang dihasilkan dari pola kerja beberapa individu dalam hal ini mengikuti kerja koloni suatu spesies binantang tertentu. ABC ditemukan oleh Karaboga dan Basturk (Karaboga &
Basturk, 2007). Algoritma ABC merupakan algoritma yang menirukan tingkah laku dan pola kerja kawanan lebah untuk menemukan sumber makanan yang efisien (Lazuardi & Suyanto, 2012).
Algoritma ABC diawali dengan inisialisasi sumber makanan (alternatif solusi) yang berisikan variabel acak. Setelah sumber makanan ditentukan, algoritma akan memasuki tahap pertama, yaitu employed bees. Pada tahap ini, employed bees akan melakukan modifikasi terhadap alternatif solusi dengan mencari solusi lain di sekitarnya. Solusi tersebut kemudian akan diukur nilai objektifnya sebagai informasi yang akan dibagikan dengan onlooker bees melalui waggle dance yang dimodelkan melalui persamaan matematis yang dapat dilihat pada Persamaan 2.4. Pada tahap onlooker bees, solusi yang dihasilkan oleh employed bees akan dipilih secara acak dengan probabilitas tertentu. Onlooker bees kemudian akan memodifikasi kembali solusi tersebut berdasarkan informasi dari employed bees. Oleh karena onlooker bees memiliki kecenderungan untuk memilih alternatif solusi yang nilai objektifnya lebih baik, maka akan dihasilkan alternatif solusi yang dalam selang waktu tertentu tidak terpilih oleh onlooker bees. Pada kondisi ini, employed bees akan berubah menjadi scout bees untuk mencari alternatif solusi yang baru (Prayogo et al., 2018).
𝑛𝑒𝑤_𝑋𝑖 = 𝑋𝑖 + 𝑟𝑎𝑛𝑑(−1,1) ∗ (𝑋𝑖 − 𝑋𝑗) (2.4) di mana 𝑋𝑖 merupakan sumber makanan ke-i, dan 𝑋𝑗 merupakan sumber makanan ke- j yang dipilih secara acak.
Ya
Ya
Tidak Tidak
Secara garis besar, proses algoritma ABC diilustrasikan melalui Gambar 2.2.
Gambar 2.2. Flowchart Metode ABC Inialisasi parameter
Inisialisasi koloni lebah
Mulai cycle
Gbest fase employed bee
Estimasi probabilitas rekrut
Gbest fase onlooker bee
Menyimpan posisi makanan terbaik
Maximum cycle number terpenuhi?
Optimasi selesai
Failure (i) > Limit Fase scout bee Cycle = Cycle + 1 Mulai
Selesai
2.2.3. Symbiotic Organisms Search (SOS)
Symbiotic Organisms Search (SOS) adalah teknik optimasi yang dilakukan untuk mencari organisme terbaik dengan cara menyimulasikan hubungan atau simbiosis di dalam suatu pasangan organisme. Seperti metode optimasi berbasis populasi, SOS secara iteratif menggunakan populasi dari beberapa calon solusi ke sebuah ruang pencarian untuk mencari solusi yang paling optimal (Cheng & Prayogo, 2014).
Algoritma SOS merupakan metode optimasi metaheuristik yang mensimulasikan interaksi simbiosis yang dilakukan oleh macam-macam organisme di dalam ekosistem yang bertujuan untuk meningkatkan tingkat kelangsungan hidup dari organisme yang bersangkutan (Cheng & Prayogo, 2014). Interaksi antar makhluk hidup secara umum dapat dibagi menjadi tiga macam, yaitu simbiosis mutualisme, komensalisme dan parasitisme. Setiap organisme selalu melakukan simbiosis agar mereka mampu beradaptasi terhadap lingkungan dan bertahan hidup lebih lama, maka dari itu dapat disimpulkan bahwa simbiosis mampu membangun, membentuk dan mempertahankan semua ekosistem modern (Prayogo et al., 2018)
Berbeda dari generic algorithm (GA) dan metaheuristik berbasis evolutionary algorithm, SOS tidak memproduksi atau menciptakan keturunan. Namun, layaknya algoritma yang berbasis populasi, SOS menciptakan sebuah populasi mula-mula (yang disebut dengan ekosistem) dan akan melalui berbagai operator pencarian yang secara iteratif akan mencoba untuk memodifikasi populasi untuk menghasilkan variabel solusi (yang disebut dengan organisme) yang optimal (Prayogo et al., 2018).
Operator pencarian dari algoritma SOS terdiri atas tiga fase, yaitu fase mutualisme, komensalisme, dan parasitisme. Pada fase mutualisme, algoritma SOS akan memilih secara acak organisme-organisme yang akan diinteraksikan. Organisme yang terpilih akan berinteraksi dengan organisme lainnya untuk membentuk hubungan mutualisme. Organisme pada fase ini diilustrasikan dalam bentuk Xi dan Xj yang dimodelkan dalam Persamaan 2.5 dan Persamaan 2.6.
Xin = Xi + rand(0,1) * (Xbest – MV * BF1) (2.5) Xjn = Xj + rand(0,1) * (Xbest – MV * BF2) (2.6) BF1 dan BF2 adalah beneficial factor yang mencerminkan hubungan mutualisme suatu organisme dengan tingkat keuntungan yang dapat berbeda antara organisme yang satu dengan yang lainnya. MV adalah mutual vector yang merepresentasikan hubungan karakteristik antara organisme Xi dan Xj. MV menunjukan seberapa besar usaha suatu organisme untuk mendapatkan keuntungan.
Xbest adalah nilai yang direpresentasikan sebagai solusi terbaik dari proses adaptasi.
Fase berikutnya adalah fase komensalisme. Fase komensalisme merupakan kondisi yang hanya memperbolehkan satu organisme untuk mengambil keuntungan dari interaksi yang dibentuk. Fase ini juga akan memilih secara acak organisme yang akan diinteraksikan. Fase komensalisme diilustrasikan dalam Persamaan 2.7.
Xin = Xi + rand(-1,1) * (Xbest – Xj) (2.7) Persamaan 2.7 menunjukkan bahwa hanya ada satu organisme yang mendapatkan kesempatan untuk meningkatkan nilai evaluasi optimasinya. Organisme Xj hanya berperan untuk mendukung organisme Xi yang dinyatakan pada perhitungan Xbest – Xj.
Fase terakhir adalah fase parasitisme, dimana hanya ada satu organisme yang diuntungkan, sedangkan yang lainnya dirugikan. Dalam SOS, organisme Xi diberi peran yang mirip dengan nyamuk anopheles melalui penciptaan parasit buatan yang disebut ‘parasite vector’. Parasite vector akan menduplikasi organisme Xi, lalu memodifikasinya secara acak. Organisme Xj dipilih secara acak dari ekosistem dan berfungsi sebagai inang bagi parasite vector. Parasite vector mencoba mengganti Xj di ekosistem. Kedua organisme kemudian dievaluasi untuk mengukur nilai fitness. Jika parasite vector memiliki nilai fitness yang lebih baik, ia akan mengeliminasi organisme Xj dan sebaliknya.
Ya Ya
Secara garis besar, proses algoritma SOS diilustrasikan melalui Gambar 2.3.
Gambar 2.3. Flowchart Metode SOS Mulai
Inisialisasi parameter
Tahap mutualisme
Tahap komensalisme
Tahap parasitisme
Hasil akhir
Selesai Kriteria terminasi
dipenuhi?
Tidak