Goal Programming Metode Branch and Cut Untuk Menyelesaikan Multi-Objective Integer Programming

Bab 3 PEMBAHASAN

3.1 Goal Programming

Pada bab sebelumnya telah dibahas bahwa model linear programming biasa hanya bisa menyelesaikan masalah dengan fungsi tujuan tunggal, tidak dapat menyelesaikan masalah yang melibatkan fungsi tujuan ganda. Misalnya, politisi berjanji untuk mengurangi hutang negara sekaligus menawarkan keringanan pajak penghasilan. Dalam situasi seperti itu, mustahil untuk menemukan solusi tunggal yang dapat mengoptimasi dua tujuan yang bertentangan tersebut. Memperhatikan hal tersebut, A. Charnes dan W. M. Cooper mengembangkan model linear programming agar mampu menyelesaikan masalah tersebut yang kemudia dikenal dengan program tujuan ganda multi-objective programming. Selain itu dalam kenyataannya linear programming tidak selalu tepat dan layak bagi suatu permasalahan terterntu, misalnya: 1. Pertentangan tujuan. Manajemen mungkin menghadapi pertentangan tujuan antara meminimumkan biaya atau memaksimumkan pelayanan kepada pelanggan. Padahal tingginya tingkat pelayanan akan menjadikan biaya pelayanan semakin tinggi. 2. Perbedaan fungsi tujuan. Misalnya, tujuannya adalah menentukan jumlah unit produksi yang akan memaksimumkan keuntungan atau memaksimumkan market share. 3. Kesulitan mengukur tujuan. Misalnya, tujuannya adalah memaksimumkan tingkat pelayanan kepada pelanggan. Hal tersebut tentunya sulit diukur. D alam kasus-kasus di atas, kadang tidak ada titik yang fisibel solusi fisibel yang bisa mengoptimalkan semua tujuan. Untuk mengatasi ini, teknik goal programming bisa digunakan. Adapun program tujuan ganda, yang biasa dikenal dengan multi-objective programming atau goal programming, merupakan kelanjutan dari linear programming yang digunakan untuk menyelesaikan program linier yang memiliki fungsi tujuan lebih dari satu. Selanjutnya tiap fungsi tujuan dinyatakan sebagai goal. Tujuan dari goal programming sendiri adalah meminimumkan penyimpangan dalam mencapai tujuan suatu masalah. Berdasarkan fungsinya, goal programming dapat dibedakan atas dua macam, yakni : a. Variabel Deviasional Atas Variabel ini berada di atas sasaran yang dikehendaki. Dengan kata lain variabel ini berfungsi menampung deviasi positif. Oleh karena itu ia akan selalu mempunyai koefisien -1 pada setiap kendala sasaran. Variabel deviasional atas selanjutnya ditulis sebagai . b. Variabel Deviasional Bawah Variabel ini berada di bawah sasaran yang dikehendaki, dengan kata lain variabel ini berfungsi menampung deviasi negatif. Oleh karena itu ia akan selalu mempunyai koefisien +1 pada setiap kendala sasaran. Variabel deviasional bawah selanjutnya ditulis sebagai . Dengan demikian, jelas bahwa variabel deviasional tersebut mempunyai fungsi yang berbeda. Bila variabel deviasional atas menampung penyimpangan nilai di atas sasaran, maka variabel deviasional atas menampung penyimpangan nilai di bawah sasaran. Sehingga dapat dipahami bahwa nilai penyimpangan minimum di atas maupun sasaran adalah nol dan tidak mungkin negatif. Secara sistematis, bentuk umum kendala sasaran yang memenuhi adalah: atau 3.1 Berdasarkan 3.1 dapat diketahui bahwa kedua variabel deviasional tersebut mendekati garis kendala dari arah yang berlawanan. Dalam hal ini, ada 3 kemungkinan yang akan terjadi, yaitu: 1. dan , maka diperoleh: 3.2 atau dapat dikatakan hasil di atas sasaran. 2. dan , maka diperoleh: 3.3 atau dapat dikatakan hasil di bawah sasaran. 3. dan , maka diperoleh: 3.4 atau dapat dikatakan hasil sasaran tercapai. Berdasarkan 3 jenis kemungkinan di atas, dapat diketahui bahwa sasaran akan tercapai apabila kedua jenis variabel deviasional bernilai 0. Oleh karena itu, pada model goal programming kedua jenis variabel deviasional dan pada fungsi tujuan menjadi: Minimumkan: 3.2

3.2 Bentuk Umum Goal Programming