sesuai. Model ini mencakup kendala keseimbangan (stok) yang tipikal dalam model multi-
periode yang melibatkan variabel keputusan keadaan dan kontrol. Notasi jeda waktu
diperkenalkan untuk referensi mundur periode waktu. Awalnya, formulasi model yang
disederhanakan diselesaikan dan ditunjukkan bahwa pembulatan solusi pemrograman linier
fraksional dapat menjadi alternatif yang baik untuk menggunakan pemecah pemrograman
integer. Akhirnya, model lengkap lengkap dengan variabel acak dipertimbangkan, dan
pendekatan berdasarkan penggunaan kendala probabilistik disajikan.
Masalah jenis ini dapat ditemukan di, misalnya, [Wa75], [Ep87], dan [Ch83]. Program Linier,
Program Integer, Variabel Kontrol-Negara, Pembulatan Heuristik,
Kendala Probabilistik, Contoh Kerja.
Masalah maskapai dipelajari dengan menggunakan data berikut. Pada awal Desember, 60
pramugari tersedia untuk bekerja dan tidak ada pengunduran diri yang diterima. Dua
peserta pelatihan dipekerjakan pada awal November dan tidak ada pada Desember. Biaya
pramugari adalah $ 5.100 sebulan sedangkan biaya trainee adalah $ 3.600 sebulan.
Persyaratan pramugari dalam hal jam terbang diberikan pada Tabel 8.1 untuk bulan Januari
hingga Juni. Tabel ini juga mencakup (diketahui) jumlah pramugari yang akan menyerahkan
pengunduran diri mereka, mulai berlaku satu bulan sesudahnya.
Pernyataan model verbal dari masalah perencanaan personel dapat ditentukan sebagai
model matematika menggunakan notasi berikut.
Indeks:
t periode waktu (bulan) dalam interval perencanaan
Parameter:
c biaya bulanan satu pramugari d biaya bulanan satu peserta pelatihan
u jumlah jam bulanan satu pramugari
v jumlah bulanan jam satu peserta pelatihan
m jumlah maksimum trainee baru setiap bulan rt diperlukan jam pramugari di t
Jumlah pramugari mengundurkan diri di t
Variabel:
Xt :Jumlah pramugari tersedia dalam jumlah trainee yang dipekerjakan di t
Yt. :Adalah penting untuk secara eksplisit menentukan waktu yang tepat yang Anda
asumsikan untuk mengambil keputusan. Itu membuat perbedaan pada kendala model Anda
apakah sesuatu terjadi di awal atau di akhir periode. Aturan yang baik adalah konsisten
untuk semua parameter dan variabel dalam model Anda. Sepanjang bagian ini diasumsikan
bahwa semua peristiwa terjadi pada awal setiap periode bulanan.
Kendala keseimbangan pramugari adalah identitas pembukuan langsung yang
menggambarkan bagaimana jumlah pramugari bervariasi dari waktu ke waktu
u x t +v ( y ¿ ¿t + y t −1 )≥ r t ∀ t ¿
Perhatikan bahwa peserta pelatihan yang memulai pelatihan mereka pada awal bulan ini
atau bulan sebelumnya hanya berkontribusi v <u jam terhadap total ketersediaan jam
pramugari.
Fungsi tujuannya adalah untuk meminimalkan total biaya personil.
Minimumkan
∑ cx t +d ( y t + y t−1)
t
Min: ∑ cx t +d ( y t + y t−1)
t
Kendala :
x t=x t −1−l t−1 + y t−2 ∀ t
u x t +v ( y ¿ ¿t + y t −1 )≥ r t ∀ t ¿
x t ≥ 0 ,integer . ∀ t
0 ≤ y t ≤m , integer . ∀ t
Model di atas adalah model pemrograman integer karena semua variabel keputusan harus
mengasumsikan nilai integer. Anda dapat melonggarkan persyaratan ini untuk variabel xt
(jumlah pramugari) karena dalam batasan keseimbangan mendefinisikan xt dalam hal yt
(jumlah peserta pelatihan baru), nilai xt ini secara otomatis bilangan bulat ketika yt bilangan
bulat.
Model, ketika dipakai dengan set data kecil, dapat dengan mudah diselesaikan dengan
pemecah pemrograman integer. Solusi yang ditemukan oleh pemecah seperti itu
ditampilkan pada Tabel 8.2 dan nilai fungsi objektif optimalnya yang sesuai adalah $
2.077.500.
Karena ukuran set data yang mendasarinya meningkat, mungkin menjadi tidak praktis untuk
menemukan solusi integer yang optimal menggunakan pemecah program integer
konvensional. Dalam kondisi ini, tidak lazim bahwa solver konvensional menemukan satu
atau lebih solusi suboptimal dalam jumlah waktu yang masuk akal, tetapi kemudian
menghabiskan banyak waktu untuk mencoba menemukan solusi yang lebih baik daripada
solusi terbaik saat ini. Dalam aplikasi praktis, solusi terbaik terakhir ini mungkin cukup baik.
Salah satu cara untuk mendapatkan solusi suboptimal tersebut adalah dengan menentukan
toleransi optimalitas.
Setiap kali Anda memecahkan model pemrograman integer skala besar, Anda disarankan
untuk menggunakan pengaturan toleransi solusi dalam upaya untuk menghindari waktu
persaingan yang lama. Dalam Aimms Anda dapat menentukan toleransi optimalitas relatif
dan toleransi optimalitas absolut. Toleransi optimalitas relatif
MIP_relative_optimality_tolerance adalah sebagian kecil yang menunjukkan kepada
pemecah bahwa ia harus berhenti segera setelah solusi integer dalam 100 kali
MIP_relative_optimality_tolerance persen global optimum telah ditemukan. Mirip dengan
toleransi optimalitas relatif, toleransi optisitas absolut MIP_absolute_optimality_tolerance
adalah angka yang menunjukkan bahwa pemecah harus berhenti segera setelah solusi
integer berada dalam toleransi MIP_absolute_optimality_tolerance dari global optimum.
Fitur lain yang tersedia di Aimms yang dapat digunakan untuk mengurangi waktu
penyelesaian untuk program integer besar adalah pengaturan prioritas. Dengan
menetapkan nilai prioritas ke variabel integer, Anda secara langsung memengaruhi urutan
variabel yang diperbaiki selama pencarian oleh solver. Misalnya, dengan menetapkan nilai
prioritas positif rendah untuk variabel yf (jumlah peserta baru yang akan dipekerjakan), dan
membiarkan nilai-nilai ini meningkat seiring berjalannya waktu, metode cabang dan solusi
terikat akan memutuskan jumlah peserta yang akan dipekerjakan di urutan yang sama
seperti di set bulan. Pengalaman telah menunjukkan bahwa menetapkan prioritas bilangan
bulat untuk meniru urutan keputusan yang alami, kemungkinan akan mengurangi waktu
komputasi. Ini terutama benar ketika ukuran kumpulan data tumbuh.
Membulatkan nilai xt (pramugari) dan yt (peserta pelatihan) dalam solusi santai melanggar
batasan keseimbangan. Membulatkan variabel yt ke atas dan menghitung ulang variabel xt
menghasilkan solusi yang layak untuk kumpulan data ini.
Varian yang lebih ketat dari heuristik paragraf sebelumnya adalah membulatkan ke bawah
selama ada cadangan setidaknya satu peserta pelatihan, dan untuk mengumpulkan ke atas
ketika tidak ada cadangan seperti itu. Solusi yang diperoleh dari kedua varian pembulatan
terdapat pada Tabel 8.4. Perhatikan bahwa tidak satu pun dari dua solusi bundar yang
sebagus solusi integer optimal. Algoritma kerangka untuk varian kedua dapat ditulis sebagai
FOR (t) DO
IF reserve < 1
Algoritma kerangka ini dapat membentuk dasar untuk implementasi dalam Aimms. Tentu
saja, heuristik di atas hanya satu dari banyak prosedur pembulatan yang mungkin. Heuristik
yang lebih kuat harus mendaftar tidak hanya cadangan yang dibuat dengan pembulatan, tetapi
juga jumlah jam pelatihan tambahan yang diperlukan. Namun, penyempurnaan ini lebih sulit
daripada yang mungkin Anda pikirkan pada awalnya!
Sampai sekarang, diasumsikan bahwa jumlah pengunduran diri dikenal di muka untuk setiap
bulan dalam interval perencanaan. Tanpa asumsi ini, jumlah pengunduran diri setiap bulan
bukanlah parameter melainkan variabel acak dengan distribusinya sendiri. Untuk
mendapatkan wawasan tentang distribusi, perlu menganalisis data pengunduran diri secara
statistik. Analisis harus didasarkan pada catatan historis dan informasi tentang volatilitas
personel di pasar saat ini.
Asumsikan bahwa analisis data statistik seperti itu menyimpulkan bahwa data pengunduran
diri terdistribusi secara normal dengan rata-rata dan varian seperti yang disajikan pada Tabel
8.5. Tabel ini juga berisi tingkat pengunduran diri kritis yang digunakan dalam analisis
probabilistik berikut.
Tabel 8.5: Data pengunduran diri yang terdistribusi secara normal dan nilai kritis
Sehubungan dengan ketidakpastian dalam data pengunduran diri, manajer personalia perlu
merekrut cukup banyak peserta tambahan untuk memastikan bahwa ada cukup banyak
penumpang penerbangan di sebagian besar keadaan. Tidak ekonomis untuk membahas
skenario ekstrem yang tidak mungkin terjadi di mana jumlah pengunduran diri jauh
melampaui rata-rata. Menghilangkan skenario ekstrem dapat dicapai melalui penggunaan
kendala probabilistik.
Pr ¿ ¿
Pr ¿ ¿
Nilai α diasumsikan kecil, yang menunjukkan seringnya ada surplus (bentuk pertama) atau
jarang ada kekurangan (bentuk kedua).
Seperti yang dijelaskan dalam Bagian 6.6, kedua kendala probabilistik memiliki persamaan
de-terministik yang sama, yaitu:
x t−1− y t −2−x t ≥l t −1 ∀ t
di mana l´t bisa menjadi salah satu nilai kritis dari Tabel 8.5 tergantung pada
Model baru dengan persamaan deterministik dari kendala probabilistik sekarang dapat
diringkas sebagai berikut.
Minimize :
∑ cx t +d ( y t + y t−1)
t
Kendala :
x t ≤ x t −1 −l t−1 + y t−2 ∀ t
ux t + v ( y t + y t−1 ) ≥r t ∀ t
x t , y t ≥0 , integer ∀ t
Model baru ini sangat menyerupai model dalam Bagian 8.2. Perhatikan bahwa nilai
parameter ̄lt cenderung fraksional dalam versi di atas. Ini menyiratkan bahwa persyaratan
bilangan bulat pada xt dan yt diperlukan, dan bahwa kendala keseimbangan di atas untuk
pramugari cenderung tidak ketat dalam solusi optimal.
8.6 Ringkasan