OPTIMATISASI DENGAN PEMROGRAMAN MATEMATIS
Pemrograman Matematis
Pemrograman
matematis adalah pembuatan model matematis atas suatu permasalahan yang sedang
dihadapi dan menggunakan sebuah proses atau prosedur yang dapat di program.
Model matematis adalah sekumpulan persamaan atau pertidaksamaan dari satu atau
beberapa fungsi matematis.
Model-model
pemrograman matematis yang banyak digunakan adalah:
·
Pemrograman
linier (linear programming),
·
Pemrograman
bilangan bulat (integer programming),
·
Pemrograman
nonlinier (non linear programming),
·
Analisis
jaringan (network analysis) ,
·
Pemrograman
dinamis (dynamic programming).
Prosedur
umum penyelesaian pemrograman matematis diawali dengan mendefinisikan komponen
persoalan berikut ini:
·
Decision
Variables (variabel keputusan) adalah
sebagai besaran yang akan dicari nilainya.
·
Parameters
adalah ukuran-ukuran bernilai tetap dan dapat diterapkan dalam perhitungan
seperti harga, biaya, benefit dan lain-ain.
·
Constraints
(batasan) adalah sebagai faktor pembatas/kendala yang perlu dirumuskan secara
matematis.
·
Objective
Function (fungsi tujuan) adalah pernyataan
kuantitatif dari kasus optimasi, sebagai contoh: memaksimumkan benefit,
menentukan biaya operasi minimum.
Bentuk pemrograman matematis adalah memaksimumkan
atau meminimumkan fungsi tujuan yang memenuhi kendala, syarat atau batasan.
Berikut ini adalah
lagkah-langkah dalam pembuatan model matematis:
1. Identifikasi Masalah
·
Masalah
maksimisasi (berkaitan dengan Profit/Revenue)
·
Masalah
minimisasi (berkaitan dengan dengan Cost/biaya)
1. Penentuan Variabel Masalah
·
Variabel keputusan
(Variabel yang menyebabkan tujuan maksimal atau minimal)
·
Fungsi tujuan (Objective Function) à
Z maksimal atau minimal.
·
Fungsi kendala (Constraint Function) à
Identifikasi dan merumuskan fungsi kendala yang ada
Pemrograman
linier adalah suatu model umum yang dapat digunakan dalam pemecahan masalah
pengalokasian sumber-sumber yang terbatas secara optimal. Masalah tersebut
timbul apabila seseorang diharuskan untuk memilih atau menentukan tingkat
setiap kegiatan yang akan dilakukannya, dimana masing-masing kegiatan
membutuhkan sumber yang sama sedangkan jumlahnya terbatas.
Masalah
keputusan yang biasa dihadapi para analis adalah alokasi optimum sumber daya
yang langka. Sumber daya dapat berupa modal, tenaga kerja, bahan mentah, kapasitas
mesin, waktu, ruangan atau teknologi.
Pada intinya, dari semua situasi tersebut adalah bagaimana kita mengalokasikan sumberdaya
pada aktifitas. Metode matematis dapat digunakan sebagai alat bantu
pengambilan keputusan bagi seorang manajer berkaitan dengan masalah maksimisasi
atau minimisasi.
Beberapa
contoh permasalahan yang pengambilan keputusannya bisa menggunakan pemrograman
linier adalah (Heizer, 1995):
1. Penjadwalan bus sekolah untuk meminimalkan jarak
perjalanan total dalam mengantar dan menjemput para pelajar
2. Mengalokasikan unit-unit jaga polisi ke daerah yang
memiliki tingkat kejahatan tinggi untuk memaksimalkan waktu repon
3. Penjadwalan kasir untuk memenuhi kebutuhan harian,
selagi meminimalkan total biaya tenaga kerja
4. Memilih bauran produk pada suatu pabrik untuk
memanfaatkan penggunaan mesin dan jam kerja yang tersedia sebaik mungkin,
selagi memaksimalkan laba perusahaan
5. Pemilihan bauran komposisi makanan untuk
menghasilkan kombinasi makanan dengan biaya minimal
6. Menentukan sistem distribusi yang akan meminimalkan
biaya pengiriman total dari beberapa gudang ke beberapa lokasi pasar.
7. Membuat suatu jadwal produksi yang akan memcukupi
permintaan di masa mendatang akan suatu produk perusahaan dan pada saat yang
bersamaan meminimalkan biaya persediaan dan biaya produksi total.
8. Mengalokasikan ruangan untuk para penyewa yang
bercampur dalam pusat perbelanjaan baru untuk memaksimalkan pendapatan
perusahaan penyewaan.
Semua persoalan pemrograman linier mempunyai empat
sifat umum (Heizer, 1995):
1. Persoalan pemrograman linier bertujuan untuk
memaksimalkan atau meminimalkan kuantitas (pada umumnya berupa laba atau
biaya). Sifat umum ini disebut sebagai fungsi tujuan (objective function) dari suatu persoalan pemrograman linier. Tujuan
utama dari perusahaan pada umumnya adalah untuk memaksimalkan keuntungan pada
jangka panjang. Dalam kasus system didtribusi suatu perusahaan angkutan atau
penerbangan, tujuan pada umumnya berupa meminimalkan biaya.
2. Adanya batasan (constrains)
atau kendala, yang membatasi tingkat sampai di mana sasaran dapat dicapai.
Sebagai contoh, keputusan untuk memproduksi berapa banyak unit dari tiap produk
dalam suatu lini produk perusahaan, dibatasi oleh tenaga kerja dan permesinan
tersedia. Oleh karena itu, untuk memaksimalkan atau meminimalkan suatu
kuantitas (fungsi tujuan) bergantung kepada sumber daya yang jumlahnya terbatas
(batasan).
3. Harus ada beberapa alternatif tindakan yang dapat
diambil. Sebagai contoh, jika suatu perusahaan menghasilkan tiga produk
berbeda, manajemen dapat menggunakan pemrograman linier utnuk memutuskan
bagaimana cara mengalokasikan sumber dayanya yang terbatas (tenaga kerja,
permesinan dan sebagainya). Jika tidak ada alternative yang dapat diambil, maka
pemrograman linier tidak diperlukan.
4. Tujuan dan batasan dalam permasalahan pemrograman
linier harus dinyatakan dalam hubungan dengan pertidaksamaan atau persamaan
linier.
Penyelesaian permasalahan
dengan menggunakan pemrograman linier bisa dilakukan dengan:
1. Pembuatan Model Matematis (Logika Matematis).
2. Penyelesaian perhitungan dengan cara manual (metode
grafik, metode simplex, konsep dualitas) maupun dengan komputer.
3. Analisa hasil hitungan, sebagai salah satu alat
alternatif keputusan dan pengambilan keputusan.
CONTOH
1:
Perusahaan
shader electronics menghasilkan dua produk yaitu walkman dan watch tv. Proses
produksi untuk masing-masing produk serupa dan keduanya memerlukan waktu
tertentu untuk pengerjaan elektronis dan waktu tertentu untuk pengerjaan
perakitan. Setiap walkman membutuhkan waktu selama 4 jam untuk pengerjaan elektronis
dan 2 jam untuk perakitan. Setiap watch tv memerlukan waktu selama 3 jam untuk
pengerjaan elektronis dan 1 jam untuk prakitan. Sepanjang periode produksi
sekarang, tersedia waktu selama 240 jam waktu penyediaan elektronis dan 100 jam
waktu perakitan. Setiap walkman menghasilkan laba $7 dan setiap watch tv yang
diproduksi menghasilkan laba $5.
Permasalahan
yang dihadapi shader adalah untuk menentukan kombinasi terbaik antara jumlah
walkman dan watch tv yang dibuat untuk mencapai laba yang maksimal. Situasi
bauran produk ini dapat diformulasikan sebagai masalah pemrograman linier.
Waktu yang dibutuhkan untuk memproduksi
1 unit
|
|||
Departemen
|
Walkman
|
Watch tv
|
Jam kerja yang tersedia
|
Elektronis
|
4
|
3
|
240
|
Perakitan
|
2
|
1
|
100
|
Laba Per Unit
|
$7
|
$5
|
Pemecahan
masalah dimulai dengan merangkum informasi yang diperlukan untuk memformulakan
dan memecahkan masalah. Notasi sederhana yang bisa digunakan dalam batasan
adalah:
X1 = jumlah walkman yang akan diproduksi
X2 = jumlah watch TV yang akan diproduksi
Sedangkan fungsi tujuan yang bisa digunakan dengan
kaitannya X1 dan X2 adalah:
Memaksimalkan laba (Z) = $7X1 + $5X2
Langkah selanjutnya adalah
membuat hubungan matematik untuk menentukan kedua batasan dalam masalah ini.
Satu hubungan yang umum adalah bahwa jumlah sumber daya yang digunkaan harus
lebih kecil daripada atau sama dengan ( ≤ ) jumlah sumber daya yang tersedia.
1. Batasan pertama: waktu elektronik yang diperlukan ≤
waktu elektronik yang tersedia, sehingga:
4X1 + 3X2 ≤ 240
2. Batasan kedua: waktu perakitan yang diperlukan ≤
waktu perakitan yang tersedia, sehingga:
2X1 + X2 ≤ 100
Dari masalah diatas, formulasi pemrograman linier
secara lengkap dapat ditulis:
Z = $7X1 + $5X2
4X1 + 3X2 ≤ 240
2X1 + X2 ≤ 100
X1,
X2 ≥ 0
CONTOH
2:
Sebuah
perusahaan ingin menentukan berapa banyak masing-masing dari tiga produk yang
berbeda yang akan dihasilkan dengan tersedianya sumber daya yang terbatas agar
diperoleh keuntungan maksimum. Kebutuhan
buruh dan bahan mentah dan sumbangan keuntungan masing-masing produk adalah
sebagai berikut:
Produk
|
Kebutuhan Sumber Daya
|
Keuntungan (Rp/Unit)
|
|
Buruh (jam/unit)
|
Bahan (kg/unit)
|
||
A
|
5
|
4
|
3
|
B
|
2
|
6
|
5
|
C
|
4
|
3
|
2
|
Tersedia 240 jam kerja dan bahan mentah sebanyak 400 Kg. Masalahnya
adalah menentukan jumlah masing-masing produk agar keuntungan maksimum. Rumusan
model pemrograman linier-nya adalah:
1. Penentuan Variabel Keputusan
Tiga variabel dalam masalah ini adalah produk
A, B dan C yang harus dihasilkan. Jumlah ini dapat dilambangkan sebagai:
·
X1 = jumlah produk A
·
X2 = jumlah produk B
·
X3 = jumlah produk C
2. Penentuan Fungsi tujuan
Tujuan masalah kombinasi produk adalah
memaksimumkan keuntungan total. Jelas bahwa keuntungan adalah jumlah
keuntungan yang diperoleh dari
masing-masing produk. Keuntungan dari produk A adalah perkalian antara jumlah
produk A dengan keuntungan per unit (Rp 3,-). Keuntungan produk B dan C
ditentukan dengan cara serupa.
Sehingga keuntungan total Z, dapat
ditulis:
Z = 3X1
+ 5X2 + 2X3
3. Penentuan Sistem kendala
Dalam masalah ini kendalanya adalah jumlah buruh dan bahan mentah yang terbatas.
Masing-masing produk membutuhkan baik buruh maupun bahan mentah. Produk A,
buruh yang dibutuhkan untuk menghasilkan tiap unit adalah 5 jam, sehingga buruh
yang dibutuhkan untuk produk A adalah 5 X1 jam. Dengan cara yang
serupa produk B membutuhkan 2 X2 jam buruh, dan produk C butuh 4 X3
jam, sementara jumlah jam buruh yang tersedia adalah 240 jam. Sehingga dapat
ditulis:
5X1 + 2X2 + 4X3
≤ 240
Kendala bahan mentah dirumuskan dengan cara yang
sama, yaitu untuk produk A butuh bahan mentah sebanyak 4 kg per unit, produk B
membutuhkan 6 kg per unit dan produk C butuh 3 kg per unit. Karena yang
tersedia adalah sebanyak 400 kg bahan mentah, maka dapat ditulis:
4X1 + 6X2 + 3X3 ≤ 400
Kita juga membatsi masing-masing variabel hanya pada
nilai positif, karena tidak mungkin untuk menghasilkan jumlah produk negatif.
Kendala-kendala ini dikenal dengan non negativity constraints dan secara
matematis dapat ditulis:
X1 ≥ 0, X2 ≥
0, X3 ≥ 0 atau X1, X2, X3 ≥ 0
Pertanyaan yang timbul adalah mengapa kendala dituliskan
dengan tanda pertidaksamaan ( ≤ ), bukannya persamaan ( = ). Persamaan secara
tidak langsung mengatakan bahwa seluruh kapasitas sumber daya digunakan,
sementara dalam pertidaksamaan memperbolehkan penggunaan kapasitas secara penuh
maupun penggunaan sebagian kapasitas. Dalam
beberapa kasus suatu solusi dengan mengizinkan adanya kapasitas
sumberdaya yang tak terpakai akan
memberikan solusi yang lebih baik, yang berarti keuntungan lebih besar, dari
pada penggunaan seluruh sumber daya. Jadi, pertidaksamaan menunjukkan
keluwesan.
Dari masalah diatas, formulasi pemrograman linier
secara lengkap dapat ditulis:
Maksimumkan
Z = 3X1 + 5X2 + 2X3
Dengan syarat
5X1 + 2X2 + 4X3 ≤
240
4X1 + 6X2
+ 3X3 ≤ 400
X1, X2,
X3 ≥ 0
CONTOH
3:
Perusahaan
elektronik Failsafe memproduksi empat produk utama yang sangat canggih, umtuk
memasok ke perusahaan penerbangan luar angkasa yang memiliki kontrak dengan
NASA. Setiap produk harus dapat melalui departemen berikut sebelum dikirimkan,
yaitu pemasangan kawat, pengeboran, perakitan, dan pemeriksaan. Kebutuhan
proses produksi pada setiap departemen (dalam jam) dan nilai laba yang
bersesuaian diringkas dalam tabel berikut:
Produk
|
Departemen
|
||||
Pemasangan
Kawat
|
Pengeboran
|
Perakitan
|
Pemeriksaan
|
Laba/Unit
|
|
XJ201
|
0.5
|
3
|
2
|
0.5
|
$9
|
XM897
|
1.5
|
1
|
4
|
1.0
|
$12
|
TR29
|
1.5
|
2
|
1
|
0.5
|
$15
|
BR788
|
1.0
|
3
|
2
|
0.5
|
$11
|
Waktu produksi yang tersedia pada setiap departemen
pada setiap bulan dan kebutuhan produksi bulanan minimal untuk memenuhi kontrak
adalah sebagai berikut:
Departemen
|
Kapasitas
(jam)
|
Produk
|
Tingkat
Produksi Minimal
|
Pemasangan Kawat
|
1.500
|
XJ201
|
150
|
Pengeboran
|
2.350
|
XM897
|
100
|
Perakitan
|
2.600
|
TR29
|
300
|
Pengawasan
|
1.200
|
BR788
|
400
|
Manajer produksi bertanggung jawab untuk menentukan
tingkat produksi masing-masing produk untuk bulan yang akan datang.
X1
= jumlah unit XJ201 yang akan di produksi
X2
= jumlah unit XM897 yang akan di produksi
X3
= jumlah unit TR29 yang akan di produksi
X4
= jumlah unit BR788 yang akan di produksi
Memaksimalkan
laba = 9X1 + 12X2 + 15X3 + 11X4
Dengan batasan:
0.5X1
+ 1.5X2 + 1.5X3 + 1X4 ≤ 1.500 waktu pemasangan
kawat yang tersedia
3X1
+ 1X2 + 2X3 + 3X4 ≤ 2.350 waktu pengeboran
yang tersedia
2X1
+ 4X2 + 1X3 + 2X4 ≤ 2.600 waktu perakitan yang
tersedia
0.5X1
+ 1X2 + 0.5X3 + 0.5X4 ≤ 1.200 waktu
pemeriksaan yang tersedia
X1 ≥ 150 unit XJ201
X2 ≥ 100 unit XM897
X3 ≥ 300 unit TR29
X4 ≥ 400 unit BR788
X1, X2, X3, X4
≥ 0
ada source code c++ nya gak ya?
BalasHapus