Kami menawarkan model dasar yang menyediakan sebuah kerangka kerja untuk mendiskusikan
sekelompok masalah pengoptimasian. Masalah-masalah tersebut diklasifikasikan berdasarkan
berbagai karakteristik model dasar yang intrinsik untuk masalah tertentu. Kami juga
mendiskusikan variasi-variasi dari model dasar tersebut. Model dasarnya adalah
Optimasikan fj (X) untuk j dalam J (7.1)
Subjek kendala
Maksimisasi
Subjek kendala
(kayu)
(tenaga kerja)
(kontrak)
(kontrak)
Maksimisasi
Kondisi terakhir ini mengilustrasikan masalah pengoptimasian tanpa batas. Karena turunan dari
fungsi yang diminimisasi gagal menjadi kontinu (karena adanya nilai absolut), tidak mungkin
untuk menyelesaikan masalah ini dengan penerapan kalkulus dasar secara langsung. Solusi
numerik berdasarkan pencarian pola disajikan pada Bagian 7.6.
Program-proram Optimasi Bilangan Bulat
Persyaratan-persyaratan yang ditentukan untuk suatu masalah dapat membatasi satu atau lebih
variabel keputusannya dengan nilai bilangan bulat. Sebagai contoh, dalam mencari campuran
yang tepat dari berbagai ukuran mobil, van, dan truk untuk armada transportasi perusahaan guna
meminimisasi biaya di bawah beberapa kondisi, akan tidak masuk akal untuk menentukan bagian
pecahan dari sebuah kendaraan. Masalah optimasi bilangan bulat juga muncul dalam masalah
yang dikodekan, di mana variabel-variabel biner (0 dan 1) mewakili keadaan tertentu, seperti
ya/tidak atau hidup/mati.
CONTOH 2 Kargo Pesawat Luar Angkasa
Ada berbagai barang yang harus dibawa di sebuah pesawat luar angkasa. Sayangnya, terdapat
beberapa pembatasan untuk kapasitas berat dan volume yang diperbolehkan. Misalnya terdapat
m item yang berbeda, masing-masing diberi beberapa nilai numerik cj dan memiliki berat wj dan
volume vj. (Bagaimana Anda dapat menentukan cj dalam suatu masalah yang sebenarnya?) Misal
tujuannya adalah untuk memaksimisasi nilai dari item yang akan dibawa tanpa melebihi batasan
berat W atau batasan volume V. Kita dapat merumuskan model ini:
Jika item j dibawa (ya)
Jika item j tidak dibawa (tidak)
Maka
Kemudian masalahnya adalah:
Maksimisasi
Subyek kendala
di mana
Ilustrasi lain membatasi x baik untuk berada dalam interval (a, b) maupun menjadi nol dengan
menggunakan variabel biner y:
di mana
CONTOH 3 Perkiraan dengan Fungsi Linier Piecewise
Kekuatan menggunakan variabel biner untuk mewakili interval dapat lebih sepenuhnya dihargai
ketika obyeknya adalah untuk mendekati fungsi non-linier oleh satu linier piecewise. Khususnya,
misal fungsi non-linier pada Gambar 7.1a mewakili fungsi biaya dan kita ingin mencari nilai
minimumnya pada interval 0≤ x ≤ a3. Jika fungsi ini sangat rumit, maka dapat diperkirakan
dengan fungsi linier piecewise seperti yang ditunjukkan oleh Gambar 7.1b. (Fungsi linier
piecewise mungkin terjadi secara alami di dalam suatu masalah, seperti ketika tarif yang berbeda
dibebankan untuk penggunaan listrik berdasarkan jumlah konsumsi.)
Ketika kita menggunakan pendekatan yang disarankan pada Gambar 7.1, masalahnya
adalah untuk menemukan fungsi minimum:
Tentukan tiga variabel baru x1 = (x – 0), x2 = (x - a1), dan x3 = (x - a2) untuk masing-masing dari
tiga interval, dan gunakan variabel biner y1, y2, dan y3 untuk membatasi xi untuk interval yang
tepat:
di mana y1, y2, dan y3 sama dengan 0 atau 1. Karena kita menginginkan satu xi untuk aktif di
setiap waktu, kita menerapkan kendala berikut:
Sekarang hanya ada satu dari xi yang aktif kapan saja, fungsi obyektif kita menjadi
Gambar 7.1
Menggunakan fungsi linier piecewise untuk memperkirakan fungsi non-linier
Amati bahwa setiap kali yi = 0, variabel xi = 0 juga. Dengan demikian, produk dari bentuk xiyi
redundan, dan fungsi obyektifnya dapat disederhanakan untuk memberikan model berikut:
Minimisasi
Subyek kendala
Kendala-kendala non-negatif x1, x2 ≥ 0 berarti bahwa solusi yang memungkinkan terletak pada
kuadran pertama. Ketidaksamaan x1 + 2x2 ≤ 4 membagi kuadran pertama menjadi dua daerah.
Daerah yang layak adalah setengah ruang di mana kendala itu teratasi. Daerah yang layak dapat
ditemukan dengan menggambarkan grafik persamaan x1 + 2x2 = 4 dan menentukan setengah
bidang yang layak, seperti yang ditunjukkan pada Gambar 7.2.
Jika setengah bidang yang layak gagal untuk menjadi nyata, pilih titik yang nyaman
(seperti asalnya) dan substitusikan ke dalam kendala untuk menentukan apakah teratasi. Jika ya,
maka semua titik di sisi yang sama pada garisnya juga akan mengatasi kendalanya.
Program linier memiliki sifat penting bahwa titik-titik yang mengatasi kendala-kendala
membentuk suatu himpunan cembung. Satu himpunan berbentuk cembung jika untuk setiap
pasangan titik dalam himpunan tersebut, segmen garis yang menghubungkannya terletak
sepenuhnya di dalam himpunan. Himpunan yang digambarkan pada Gambar 7.3a gagal menjadi
cembung, sedangkan himpunan pada Gambar 7.3b berbentuk cembung.
Sebuah titik ekstrim (titik sudut) dari sebuah himpunan cembung adalah setiap titik batas
dalam himpunan cembung yang merupakan titik perpotongan unik dari dua segmen batas garis
lurus (straight-line).
Gambar 7.2 Daerah yang layak untuk kendala x1 + 2x2 ≤ 4, x1, x2 ≥ 0
Gambar 7.3 Himpunan ini ditunjukkan dalam a tidak cembung, sedangkan himpunan yang
ditunjukkan dalam b cembung.
Segmen garis yang menghubungkan titik A dan B tidak terletak sepenuhnya dalam himpunan
Pada Gambar 7.3b, titik A-F adalah titik ekstrim. Mari sekarang cari daerah yang layak dan
solusi optimal untuk masalah si tukang kayu yang dirumuskan dalam Contoh 1 dalam Bagian
7.1.
CONTOH 1 Masalah Tukang Kayu
Pertimbangkan versi masalah tukang kayu dari Bagian 7.1. Tukang kayu menyadari keuntungan
bersih unit sebesar $25 per meja dan $30 per rak buku. Dia mencoba untuk menentukan berapa
banyak meja (x1) dan berapa banyak rak buku (x2) yang harus dia buat setiap minggunya. Dia
memiliki hingga 690 papan kayu dan hingga 120 jam kerja yang disediakan secara mingguan
untuk proyeknya. Kayu dan tenaga kerja dapat digunakan secara produktif di tempat lain jika
tidak digunakan dalam produksi meja dan rak buku. Dia memperkirakan bahwa produksi
tersebut membutuhkan 20 papan kayu dan 5 jam kerja untuk menyelesaikan meja dan 30 papan
kayu dan 4 jam kerja untuk rak buku. Perumusan ini menghasilkan
Maksimisasi 25x1 + 30x2
Subyek kendala
Himpunan cembung yang ditetapkan untuk kendala dalam masalah si tukang kayu
digambarkan dan diberikan oleh daerah poligon ABCD pada Gambar 7.4. Perhatikan bahwa
terdapat enam titik persimpangan kendala, tetapi hanya empat dari titik-titik ini (yaitu, A-D)
yang memenuhi semua kendala dan karenanya termasuk dalam himpunan cembung. Titik-titik
A-D adalah titik ekstrim pada poligon.
Gambar 7.4 Himpunan titik-titik yang memenuhi kendala-kendala masalah si tukang kayu yang
membentuk sebuah himpunan cembung.
Jika terdapat solusi optimal untuk program linier, solusi tersebut harus terjadi di antara
titik-titik ekstrim himpunan cembung yang dibentuk oleh himpunan kendala. Nilai-nilai dari
fungsi obyektif (keuntungan untuk masalah tukang kayu) pada titik-titik ekstrim adalah
Titik poin Nilai fungsi obyektif
A
B
C
D
Dengan demikian, tukang kayu harus membuat 12 meja dan 15 rak buku setiap minggunya
untuk mendapatkan hasil keuntungan mingguan maksimum $750. Kami memberikan bukti
geometris lebih lanjut di bagian ini bahwa titik ekstrim C optimal.
Sebelum mempertimbangkan contoh yang kedua, mari kita meringkas gagasan yang
disajikan sejauh ini. Kendala yang dihimpun untuk suatu program linier adalah himpunan
cembung, yang umumnya berisi jumlah titik layak yang tak terhingga untuk program linier. Jika
terdapat solusi optimal untuk program linier, harus diambil pada satu atau lebih titik ekstrim.
Dengan demikian, untuk menemukan solusi optimal, kami memilih dari antara semua titik
ekstrim yaitu yang salah satunya dengan nilai terbaik untuk fungsi obyektif.
CONTOH 2 Masalah Penyesuaian Data
Sekarang mari kita selesaikan program linier yang ditunjukkan oleh Persamaan (7.2). Diberikan
model y = cx dan himpunan data
Gambar 7.5 Daerah yang layak untuk penyesuaian y = cx untuk sekumpulan data
Kita ingin mencari nilai untuk c sehingga hasil selisih absolut terbesat r ekecil mungkin. Dalam
gambar 7.5 kita gambarkan grafik himpunan enam kendala
5 1 5 1
menghasilkan c = 2 dan r = 2, atau B = (2 , 2). Akhirnya, C adalah persimpangan kendala 2
dan 4 yang menghasilkan C= (3, 1) Perhatikan bahwa himpunan tidak dibatasi. (Kita bahas
himpunan cembung yang tak terbatas nanti). Jika terdapat solusi optimal untuk permasalahannya,
setidaknya satu titik ekstrim harus mengambil solusi optimal. Kita sekarang mengevaluasi fungsi
obyektif f(r) = r pada masing-masing ketiga titik ekstrim.
Titik ektrem Nilai fungsi obyektif
5 1
Titik ekstrim dengan nilai r terkecil adalah titik ekstrim B dengan koordinat (2 , 2). Dengan
5
demikian, c = 2 adalah nilai optimal c. Tidak ada nilai lain dari c yang akan menghasilkan selisih
1
absolut terbesar sekecil nilai |rmax| = 2.
Interpretasi Model
Mari interpretasikan solusi optimal untuk masalah penyesuaian data dalam Contoh 2. Dengan
5 5
menyelesaikan program linier, kita memperoleh nilai c = yang sesuai dengan model y = 2 𝑥.
2
1
Selanjutnya, nilai fungsi obyektif r = harus sesuai dengan selisih terbesar yang dihasilkan dari
2
ujung garis pada titik asal. Sekarang putar penggaris untuk meyakinkan diri Anda sendiri bahwa
secara geometris tidak ada garis lain yang melewati titik asal yang dapat menghasilkan selisih
5
absolut terbesar yang lebih kecil. Dengan demikian, model y = 𝑥 optimal dengan kriteria
2
Chebyshev.
5 1
Gambar 7.6 Garis y = 2 𝑥 menghasilkan selisih absolut terbesar rmax = 2, kemungkinan rmax yang
terkecil.
ke kurva-kurva tingkat ini (Gambar 7.8). Perhatikan bahwa kurva tingkat dengan nilai 750
adalah yang memotong daerah yang layak tepat pada titik ekstrim C (12, 15).
Gambar 7.8 Kurva tingkat 25x1 + 30x2 = 750 adalah garis singgung pada daerah yang layak di
titik ekstrem C.
Apakah terdapat lebih dari satu solusi optimal? Perhatikan sedikit variasi berikut dari
masalah tukang kayu di mana kendala tenaga kerja telah berubah:
Maksimisasi 25x1 + 30x2
Subyek kendala
Himpunan kendala dan kurva tingkat 25x1 + 30x2 = 750 digambarkan pada Gambar 7.9.
Perhatikan bahwa kurva tingkat dan garis batas untuk kendala tenaga kerja berhimpitan. Dengan
demikian, baik titik ekstrim B maupun C memiliki nilai fungsi obyektif yang sama yaitu sebesar
750, yang optimal. Bahkan, seluruh ruas garis BC berhimpitan dengan kurva tingkat 25x1 + 30x2
= 750. Dengan demikian, terdapat banyak solusi optimal untuk program linier, disepanjang
segmen garis BC.
Pada Gambar 7.10 kita merangkum kasus dua dimensi umum untuk mengoptimasi fungsi
linier pada satu himpunan cembung. Gambar tersebut menunjukkan himpunan cembung khusus
yang ditetapkan bersama dengan kurva-kurva tingkat fungsi obyektif linier. Gambar 7.10
memberikan intuisi geometris untuk teorema fundamental pemrograman linier berikut ini.
Gambar 7.9 Segmen BC berhimpitan dengan kurva tingkat 25x1 + 30x2 = 750; setiap titik antara
ttik-titik ekstrem C dan B, serta titik-titik ekstrem C dan B, yang merupakan solusi optimal.
Gambar 7.10 Fungsi linier mengasumsikan nilai-nilai maksimum dan minimum pada himpunan
cembung non-kosong (nonempty) dan terbatasi di suatu titik ekstrem.
Teorema 1
Anggaplah daerah yang layak dari program linier adalah satu himpunan cembung yang non-
kosong (nonempty) dan terbatasi. Maka fungsi obyektif harus mencapai nilai maksimum dan
minimum yang terjadi pada titik-titik ekstrim di daerah tersebut. Jika daerah yang layak tidak
dibatasi, fungsi obyektif tidak perlu mengasumsikan nilai-nilai optimalnya. Jika salah satu nilai
maksimum atau minimum ada, maka harus terjadi pada salah satu titik ekstrim.
Kekuatan teorema ini adalah teorema ini menjamin suatu solusi optimal untuk sebuah
program linier dari titik-titik ekstrem pada himpunan cembung non-kosong (nonempty) yang
terbatas.