Metode grafis untuk menyelesaikan persamaan program linier. Metode untuk memecahkan masalah program linier

Bengkel tersebut menghasilkan produk A dan B. Konsumsi bahan baku, stok dan keuntungan dari penjualan setiap produk ditunjukkan pada tabel.

Jenis bahan baku Biaya per produk Saham A B 48 12 600 24 21 840 15 27 1350 Laba 12 18

Temukan rencana produksi produk yang memberikan keuntungan maksimal bagi perusahaan dari penjualannya. Selesaikan masalah secara grafis.

Solusi dari masalah tersebut

Model masalah ekonomi dan matematika

Misalkan dan nyatakan jumlah produk tipe A dan B berturut-turut.

Kemudian pembatasan sumber daya:

Selain itu sesuai dengan maksud tugasnya

Fungsi tujuan menyatakan keuntungan yang diterima dari penjualan produk:

Kami mendapatkan model ekonomi dan matematika berikut:

Konstruksi gambar

Untuk membangun wilayah solusi yang layak, kami membuat garis batas yang sesuai dengan pertidaksamaan berikut dalam sistem koordinat:

Mari kita cari titik-titik yang dilalui garis-garis tersebut:

Penyelesaian setiap pertidaksamaan sistem kendala ZLP adalah setengah bidang yang memuat garis batas dan terletak pada salah satu sisinya.

Untuk mendefinisikan setengah bidang, ambil titik mana pun, misalnya titik yang bukan milik garis (1), dan substitusikan koordinat (0;0) ke dalam pertidaksamaan yang bersangkutan. Karena pertidaksamaan tersebut benar:

Daerah penyelesaian pertidaksamaan pertama bersesuaian dengan setengah bidang kiri

Mari kita ambil titik mana pun, misalnya titik yang bukan milik garis (2), dan substitusikan koordinat (0;0) ke dalam pertidaksamaan yang bersangkutan. Karena pertidaksamaan tersebut benar:

Daerah penyelesaian pertidaksamaan ke-2 bersesuaian dengan setengah bidang kiri

Untuk mendefinisikan setengah bidang, ambil titik mana pun, misalnya titik yang bukan milik garis (3), dan substitusikan koordinat (0;0) ke dalam pertidaksamaan yang bersangkutan. Karena pertidaksamaan tersebut benar:

Daerah penyelesaian pertidaksamaan ke-3 berhubungan dengan setengah bidang bawah

Wilayah solusi yang layak adalah gambarnya.

Kami membangun sebuah vektor yang koordinatnya sebanding dengan koefisien fungsi tujuan.

Gambarlah garis datar yang tegak lurus terhadap vektor yang dibangun.

Menemukan rencana optimal

Kita gerakkan garis datar searah vektor sehingga menyentuh daerah penyelesaian layak pada titik ekstrim. Penyelesaian maksimumnya adalah titik D yang koordinatnya ditemukan sebagai titik potong garis lurus (2) dan sumbu.

Jadi, perlu diproduksi sebanyak 40 unit. produk B. Produk a tidak menguntungkan untuk diproduksi. Dalam hal ini keuntungan akan maksimal sebesar CU 720.

Tujuan layanan. Kalkulator online dirancang untuk menyelesaikan masalah pemrograman linier menggunakan metode simpleks dengan membuka KZLP Dan SZLP. Dalam hal ini, masalah mencari nilai minimum fungsi tujuan direduksi menjadi masalah mencari nilai maksimum melalui transformasi fungsi tujuan F*(X) = -F(X) . Mungkin juga menimbulkan masalah ganda.

Solusinya terjadi dalam tiga tahap:

  1. Transisi ke KZLP. LLP apa pun dalam bentuk ax ≤ b , ax ≥ b , ax = b (F(X) → extr) direduksi menjadi bentuk ax = b , F(X) → max ;
  2. Transisi ke SZLP. CLLP berbentuk ax = b direduksi menjadi bentuk ax ≤ b , F(X) → max ;
  3. Penyelesaiannya dengan metode simpleks;

instruksi. Pilih jumlah variabel dan jumlah baris (jumlah batasan). Solusi yang dihasilkan disimpan dalam file Word.

Transisi dari masalah minimalisasi fungsi tujuan ke masalah maksimalisasi

Masalah meminimalkan fungsi tujuan F(X) dapat dengan mudah direduksi menjadi masalah memaksimalkan fungsi F*(X) di bawah batasan yang sama dengan memperkenalkan fungsi: F*(X) = -F(X) . Kedua masalah memiliki solusi yang sama X*, dan pada saat yang sama min(F(X)) = -max(F*(X)) .
Mari kita ilustrasikan fakta ini secara grafis:
F(x) → menit
F(x) → maks
Untuk mengoptimalkan fungsi tujuan kami menggunakan konsep dan metode berikut.
Rencana dasar– rencana yang ditentukan melalui variabel dasar bebas.
Rencana dasar– rencana referensi dengan nol variabel dasar.
Rencana optimal– rencana dasar yang memenuhi fungsi tujuan optimal (OF).

Elemen utama (penyelesaian). adalah koefisien dari hal yang tidak diketahui bebas, yang menjadi dasar, dan koefisien itu sendiri diubah menjadi satu.
Garis panduan– garis elemen utama, di mana yang tidak diketahui dasar berada dengan koefisien satuan, dikecualikan selama transformasi (garis dengan koefisien pembatas minimum, lihat di bawah).
Kolom Panduan– kolom elemen utama, yang tidak diketahui bebasnya diubah menjadi elemen dasar (kolom dengan manfaat maksimal, lihat di bawah).

Variabel x 1, ..., x m, yang termasuk dalam koefisien satuan hanya dalam satu persamaan sistem, dan sisanya nol koefisien, disebut dasar atau bergantung. Dalam sistem kanonik, setiap persamaan berhubungan dengan tepat satu variabel dasar. Transisi dilakukan dengan menggunakan metode Gauss-Jordan. Ide utama dari metode ini adalah untuk mereduksi sistem persamaan m dengan n yang tidak diketahui menjadi bentuk kanonik menggunakan operasi dasar pada string.
Variabel n-m yang tersisa (x m +1 ,…, x n) disebut non-dasar atau Variabel independen.

Solusi dasar ditelepon solusi dasar yang dapat diterima, jika nilai variabel dasar yang termasuk di dalamnya x j ≥0, yang ekuivalen dengan kondisi non-negatif b j ≥0.
Solusi dasar yang layak adalah titik sudut himpunan S yang dapat diterima dari masalah pemrograman linier dan kadang-kadang disebut rencana referensi.
Jika di antara bilangan-bilangan non-negatif b j ada yang sama dengan nol, maka penyelesaian basa yang dapat diterima disebut merosot(titik sudut merosot) dan masalah pemrograman linier yang sesuai disebut merosot.

Contoh No.1. Kurangi masalah pemrograman linier ke ZLP standar.
F(X) = x 1 + 2x 2 - 2x 3 → menit dengan batasan:
4x 1 + 3x 2 - x 3 ≤10
- 2x 2 + 5x 3 ≥3
x 1 + 2x 3 =9
Untuk membawa ZLP ke bentuk kanonik, perlu:
1. Ubah tanda fungsi tujuan. Mari kita kurangi permasalahan F(X) → min menjadi permasalahan F(X) → maks. Caranya, kalikan F(X) dengan (-1). Pada pertidaksamaan makna pertama (≤), kita masukkan variabel dasar x 4 ; pada pertidaksamaan makna kedua (≥), kita masukkan variabel dasar x 5 dengan tanda minus.
4x 1 + 3x 2 -1x 3 + 1x 4 + 0x 5 = 10
0x 1 -2x 2 + 5x 3 + 0x 4 -1x 5 = 3
1x 1 + 0x 2 + 2x 3 + 0x 4 + 0x 5 = 9
F(X) = - x 1 - 2x 2 + 2x 3
Transisi ke SZLP.
Matriks yang diperluas dari sistem batasan kesetaraan untuk masalah ini:

4 3 -1 1 0 10
0 -2 5 0 -1 3
1 0 2 0 0 9

Mari kita reduksi sistem menjadi matriks identitas menggunakan metode transformasi Jordan.
1. Anda dapat memilih x 4 sebagai variabel dasar.
2. Kita memilih x 2 sebagai variabel dasar.
Elemen resolusi RE=-2. Garis yang bersesuaian dengan variabel x 2 diperoleh dengan membagi seluruh elemen garis x 2 dengan elemen penyelesaian RE = -2. Sebagai ganti elemen penyelesaian kita mendapatkan 1. Di sel yang tersisa di kolom x 2 kita menulis nol. Semua elemen lainnya ditentukan oleh aturan persegi panjang. Mari kita sajikan perhitungan setiap elemen dalam bentuk tabel:
4-(0 3):-2 3-(-2 3):-2 -1-(5 3):-2 1-(0 3):-2 0-(-1 3):-2 10-(3 3):-2
0: -2 -2: -2 5: -2 0: -2 -1: -2 3: -2
1-(0 0):-2 0-(-2 0):-2 2-(5 0):-2 0-(0 0):-2 0-(-1 0):-2 9-(3 0):-2

Kami mendapatkan matriks baru:
4 0 6 1 / 2 1 -1 1 / 2 14 1 / 2
0 1 -2 1 / 2 0 1 / 2 -1 1 / 2
1 0 2 0 0 9

3. Kita memilih x 3 sebagai variabel dasar.
Elemen resolusi RE=2. Garis yang bersesuaian dengan variabel x 3 diperoleh dengan membagi seluruh elemen garis x 3 dengan elemen penyelesaian RE=2. Sebagai ganti elemen penyelesaian kita mendapatkan 1. Di sel yang tersisa di kolom x 3 kita menulis nol. Semua elemen lainnya ditentukan oleh aturan persegi panjang. Mari kita sajikan perhitungan setiap elemen dalam bentuk tabel:
4-(1 6 1 / 2):2 0-(0 6 1 / 2):2 6 1 / 2 -(2 6 1 / 2):2 1-(0 6 1 / 2):2 -1 1 / 2 -(0 6 1 / 2):2 14 1 / 2 -(9 6 1 / 2):2
0-(1 -2 1 / 2):2 1-(0 -2 1 / 2):2 -2 1 / 2 -(2 -2 1 / 2):2 0-(0 -2 1 / 2):2 1 / 2 -(0 -2 1 / 2):2 -1 1 / 2 -(9 -2 1 / 2):2
1: 2 0: 2 2: 2 0: 2 0: 2 9: 2

Kami mendapatkan matriks baru:
3 / 4 0 0 1 -1 1 / 2 -14 3 / 4
1 1 / 4 1 0 0 1 / 2 9 3 / 4
1 / 2 0 1 0 0 4 1 / 2

Karena sistem mempunyai matriks identitas, maka kita ambil X = (4,2,3) sebagai variabel basis.
Persamaan yang sesuai adalah:
3/4 x 1 + x 4 - 1 1/2 x 5 = -14 3/4
1 1/4 x 1 + x 2 + 1/2 x 5 = 9 3/4
1/2 x 1 + x 3 = 4 1/2
Mari kita nyatakan variabel dasar dalam bentuk sisanya:
x 4 = - 3/4 x 1 + 1 1/2 x 5 -14 3/4
x 2 = - 1 1/4 x 1 - 1/2 x 5 +9 3/4
x 3 = - 1/2 x 1 +4 1/2
Mari kita gantikan mereka ke dalam fungsi target:
F(X) = - x 1 - 2(- 1 1 / 4 x 1 - 1 / 2 x 5 +9 3 / 4) + 2(- 1 / 2 x 1 +4 1 / 2)
atau

Sistem ketidaksetaraan:
- 3/4 x 1 + 1 1/2 x 5 -14 3/4 ≥ 0
- 1 1/4 x 1 - 1/2 x 5 +9 3/4 ≥ 0
- 1/2 x 1 +4 1/2 ≥ 0
Kami mereduksi sistem ketidaksetaraan menjadi bentuk berikut:
3/4 x 1 - 1 1/2 x 5 ≤ -14 3/4
1 1/4 x 1 + 1/2 x 5 ≤ 9 3/4
1/2 x 1 ≤ 4 1/2
F(X) = 1 / 2 x 1 + x 5 -10 1 / 2 → maks
Mari kita sederhanakan sistemnya.
3/4 x 1 - 1 1/2 x 2 ≤ -14 3/4
1 1/4 x 1 + 1/2 x 2 ≤ 9 3/4
1/2 x 1 ≤ 4 1/2
F(X) = 1 / 2 x 1 + x 2 -10 1 / 2 → maks

Contoh No.2. Pertama, carilah penyelesaian masalah dengan menggunakan metode grafis, kemudian dengan metode simpleks.
F(X) = x 1 + x 2 - x 3 + x 5 +15 → maks (min) dengan batasan:
-3x 1 + x 2 + x 3 =3
4x 1 + 2x 2 - x 4 =12
2x 1 - x 2 + x 5 =2
x 1 ≥ 0, x 2 ≥ 0, x 3 ≥ 0, x 4 ≥ 0, x 5 ≥ 0

Metode ini adalah metode enumerasi yang disengaja dari solusi referensi untuk masalah program linier. Hal ini memungkinkan, dalam sejumlah langkah yang terbatas, untuk menemukan solusi optimal atau menetapkan bahwa tidak ada solusi optimal.

Isi utama dari metode simpleks adalah sebagai berikut:
  1. Tunjukkan metode untuk menemukan solusi referensi optimal
  2. Tunjukkan metode transisi dari satu solusi referensi ke solusi referensi lainnya, di mana nilai fungsi tujuan akan mendekati nilai optimal, yaitu. menunjukkan cara untuk meningkatkan solusi referensi
  3. Tetapkan kriteria yang memungkinkan Anda untuk segera berhenti mencari solusi dukungan pada solusi optimal atau menarik kesimpulan tentang tidak adanya solusi optimal.

Algoritma metode simpleks untuk menyelesaikan masalah program linier

Untuk menyelesaikan masalah dengan menggunakan metode simpleks, Anda harus melakukan hal berikut:
  1. Bawalah masalah ke bentuk kanonik
  2. Menemukan solusi dukungan awal dengan “basis unit” (jika tidak ada solusi dukungan, maka masalah tidak memiliki solusi karena ketidakcocokan sistem kendala)
  3. Hitung perkiraan dekomposisi vektor berdasarkan solusi referensi dan isi tabel metode simpleks
  4. Jika kriteria keunikan solusi optimal terpenuhi, maka penyelesaian masalah berakhir
  5. Jika syarat adanya himpunan solusi optimal terpenuhi, maka semua solusi optimal dicari dengan enumerasi sederhana

Contoh penyelesaian suatu masalah dengan menggunakan metode simpleks

Contoh 26.1

Selesaikan masalah tersebut dengan menggunakan metode simpleks:

Larutan:

Kami membawa masalah ini ke bentuk kanonik.

Untuk melakukannya, masukkan variabel tambahan x 6 dengan koefisien +1 di sisi kiri batasan pertidaksamaan pertama. Variabel x 6 termasuk dalam fungsi tujuan dengan koefisien nol (yaitu tidak termasuk).

Kita mendapatkan:

Kami menemukan solusi dukungan awal. Untuk melakukan ini, kita menyamakan variabel bebas (belum terselesaikan) dengan nol x1 = x2 = x3 = 0.

Kita mendapatkan solusi referensi X1 = (0,0,0,24,30,6) dengan basis satuan B1 = (A4, A5, A6).

Kami menghitung perkiraan dekomposisi vektor kondisi berdasarkan solusi referensi sesuai dengan rumus:

Δ k = C b X k - ck

  • C b = (c 1, c 2, ..., c m) - vektor koefisien fungsi tujuan untuk variabel dasar
  • X k = (x 1k, x 2k, ..., x mk) - vektor muai dari vektor yang bersesuaian A k menurut basis solusi referensi
  • C k adalah koefisien fungsi tujuan untuk variabel x k.

Estimasi vektor-vektor yang termasuk dalam basis selalu sama dengan nol. Solusi referensi, koefisien muai dan estimasi perluasan vektor kondisi berdasarkan solusi referensi dituliskan tabel simpleks:

Di bagian atas tabel, untuk memudahkan penghitungan estimasi, ditulis koefisien fungsi tujuan. Pada kolom pertama "B" ditulis vektor-vektor yang termasuk dalam basis solusi referensi. Urutan penulisan vektor-vektor ini sesuai dengan jumlah hal-hal yang tidak diketahui yang diperbolehkan dalam persamaan kendala. Pada kolom kedua tabel "C b" koefisien fungsi tujuan untuk variabel dasar ditulis dengan urutan yang sama. Dengan susunan koefisien fungsi tujuan yang benar pada kolom "C b", pendugaan vektor satuan yang termasuk dalam basis selalu sama dengan nol.

Pada baris terakhir tabel perkiraan k pada kolom “A 0” dituliskan nilai fungsi tujuan pada solusi acuan Z(X 1).

Solusi dukungan awal tidak optimal, karena pada soal maksimum estimasi Δ 1 = -2, Δ 3 = -9 untuk vektor A 1 dan A 3 adalah negatif.

Menurut teorema peningkatan solusi dukungan, jika dalam suatu masalah maksimum setidaknya satu vektor memiliki estimasi negatif, maka Anda dapat menemukan solusi dukungan baru yang nilai fungsi tujuan akan lebih besar.

Mari kita tentukan vektor mana yang akan menghasilkan kenaikan fungsi tujuan yang lebih besar.

Kenaikan fungsi tujuan dicari dengan rumus: .

Kami menghitung nilai parameter θ 01 untuk kolom pertama dan ketiga menggunakan rumus:

Kita memperoleh θ 01 = 6 untuk l = 1, θ 03 = 3 untuk l = 1 (Tabel 26.1).

Kita mencari pertambahan fungsi tujuan dengan memasukkan vektor pertama Z 1 = - 6*(- 2) = 12 ke dalam basis, dan vektor ketiga Z 3 = - 3*(- 9) = 27.

Akibatnya, untuk pendekatan yang lebih cepat terhadap solusi optimal, perlu untuk memasukkan vektor A3 ke dalam basis solusi referensi alih-alih vektor pertama dari basis A6, karena parameter minimum θ 03 dicapai pada baris pertama ( aku = 1).

Kita melakukan transformasi Jordan dengan elemen X13 = 2, kita memperoleh solusi referensi kedua X2 = (0,0,3,21,42,0) dengan basis B2 = (A3, A4, A5). (Tabel 26.2)

Solusi ini tidak optimal, karena vektor A2 mempunyai estimasi negatif Δ2 = - 6. Untuk memperbaiki solusi, perlu memasukkan vektor A2 ke dalam basis solusi referensi.

Kita menentukan banyaknya vektor yang diturunkan dari basis. Untuk melakukan ini, kita menghitung parameter θ 02 untuk kolom kedua, sama dengan 7 untuk l = 2. Oleh karena itu, kita memperoleh vektor basis kedua A4 dari basis. Kita melakukan transformasi Jordan dengan elemen x 22 = 3, kita memperoleh solusi referensi ketiga X3 = (0,7,10,0,63,0) B2 = (A3, A2, A5) (Tabel 26.3).

Solusi ini adalah satu-satunya solusi optimal, karena untuk semua vektor yang tidak termasuk dalam basis, perkiraannya positif

Δ 1 = 7/2, Δ 4 = 2, Δ 6 = 7/2.

Menjawab: maks Z(X) = 201 pada X = (0,7,10,0,63).

Metode pemrograman linier dalam analisis ekonomi

Metode pemrograman linier memungkinkan untuk membenarkan solusi ekonomi yang paling optimal dalam kondisi pembatasan yang ketat terkait dengan sumber daya yang digunakan dalam produksi (aset tetap, bahan, sumber daya tenaga kerja). Penggunaan metode ini dalam analisis ekonomi memungkinkan untuk memecahkan masalah-masalah yang terutama berkaitan dengan perencanaan kegiatan suatu organisasi. Metode ini membantu menentukan jumlah output produk yang optimal, serta arah penggunaan sumber daya produksi yang paling efektif yang tersedia bagi organisasi.

Dengan menggunakan metode ini, apa yang disebut masalah ekstrem diselesaikan, yang terdiri dari pencarian nilai ekstrem, yaitu fungsi maksimum dan minimum dari besaran variabel.

Periode ini didasarkan pada penyelesaian sistem persamaan linier dalam kasus di mana fenomena ekonomi yang dianalisis dihubungkan oleh ketergantungan linier yang sangat fungsional. Metode linear programming digunakan untuk menganalisis variabel dengan adanya faktor pembatas tertentu.

Sangat umum untuk menyelesaikan apa yang disebut masalah transportasi dengan menggunakan metode pemrograman linier. Isi tugas ini adalah meminimalkan biaya-biaya yang timbul sehubungan dengan pengoperasian kendaraan dengan batasan yang ada mengenai jumlah kendaraan, daya dukungnya, lama pengoperasiannya, jika diperlukan untuk melayani pelanggan sebanyak-banyaknya.

Selain itu, metode ini banyak digunakan dalam menyelesaikan masalah penjadwalan. Tugas ini terdiri dari pembagian waktu operasional untuk personel suatu organisasi tertentu yang paling dapat diterima baik bagi anggota personel tersebut maupun untuk klien organisasi.

Tugasnya adalah memaksimalkan jumlah klien yang dilayani dalam kondisi keterbatasan jumlah staf yang tersedia, serta dana waktu kerja.

Dengan demikian, metode program linier sangat umum digunakan dalam analisis penempatan dan penggunaan berbagai jenis sumber daya, serta dalam proses perencanaan dan peramalan kegiatan organisasi.

Namun demikian, pemrograman matematika juga dapat diterapkan pada fenomena ekonomi tersebut, yang hubungannya tidak linier. Untuk tujuan ini, metode pemrograman nonlinier, dinamis dan cembung dapat digunakan.

Pemrograman nonlinier bergantung pada sifat nonlinier dari fungsi tujuan atau batasannya, atau keduanya. Bentuk fungsi tujuan dan batasan pertidaksamaan pada kondisi tersebut bisa berbeda-beda.

Pemrograman nonlinier digunakan dalam analisis ekonomi, khususnya, ketika menetapkan hubungan antara indikator yang menyatakan efisiensi kegiatan suatu organisasi dan volume kegiatan ini, struktur biaya produksi, kondisi pasar, dll.

Pemrograman dinamis didasarkan pada pembuatan pohon keputusan. Setiap tingkatan pohon ini berfungsi sebagai tahapan untuk menentukan konsekuensi dari keputusan sebelumnya dan untuk menghilangkan pilihan-pilihan yang tidak efektif terhadap keputusan tersebut. Dengan demikian, pemrograman dinamis memiliki sifat multi-langkah dan multi-tahap. Jenis pemrograman ini digunakan dalam analisis ekonomi untuk menemukan pilihan optimal bagi perkembangan suatu organisasi baik saat ini maupun di masa depan.

Pemrograman cembung adalah salah satu jenis pemrograman nonlinier. Jenis pemrograman ini mengungkapkan sifat nonlinier dari hubungan antara hasil kegiatan organisasi dan biayanya. Pemrograman cembung (alias cekung) menganalisis fungsi tujuan cembung dan sistem batasan cembung (titik kelayakan). Pemrograman cembung digunakan dalam analisis kegiatan ekonomi untuk meminimalkan biaya, dan pemrograman cekung untuk memaksimalkan pendapatan di bawah batasan yang ada pada tindakan faktor-faktor yang mempengaruhi indikator yang dianalisis dengan cara yang berlawanan. Akibatnya, dengan jenis pemrograman yang dipertimbangkan, fungsi tujuan cembung diminimalkan, dan fungsi tujuan cekung dimaksimalkan.

Tujuan pekerjaan

1. Mempelajari konsep model matematika.

2. Perhatikan contoh masalah program linier.

3. Pelajari metode grafis untuk menyelesaikan masalah program linier.

4. Belajar mereduksi permasalahan program linier ke bentuk standar.

Pengenalan teoritis

Konsep model matematika. Model matematika dalam masalah program linier (LP).

Pemrograman linier adalah cabang matematika tingkat tinggi yang ditujukan untuk memecahkan masalah yang berkaitan dengan pencarian ekstrem fungsi beberapa variabel dengan adanya batasan pada variabel. Metode pemrograman linier digunakan untuk memecahkan masalah tentang alokasi sumber daya, perencanaan produksi, penetapan harga, masalah transportasi, dll.

Setiap uraian suatu masalah dalam bentuk rumus atau algoritma disebut model matematika tugas ini.

Konstruksi model matematika masalah meliputi langkah-langkah sebagai berikut:

1) pemilihan variabel tugas;

2) menyusun sistem pembatasan;

3) pilihan fungsi tujuan.

Variabel tugas disebut besaran x 1, x 2, ... x n, yang sepenuhnya mencirikan proses perekonomian. Mereka biasanya ditulis sebagai vektor A= (x 1, x 2, ... xn).

Sistem pembatasan melibatkan sistem persamaan dan kesenjangan yang dipenuhi oleh variabel objektif dan disebabkan oleh keterbatasan sumber daya atau kondisi ekonomi atau fisik lainnya.

Fungsi objektif disebut fungsi variabel tugas yang mencirikan kualitas tugas, dan titik ekstremnya perlu dicari.

Masalah umum pemrograman matematika dirumuskan sebagai berikut:

temukan ekstrem dari fungsi tujuan dan variabel-variabel yang bersesuaian, asalkan variabel-variabel tersebut memenuhi sistem restriksi dan kondisi non-negatif.

Fungsi (1.1) disebut fungsi tujuan, dan batasan (1.2) disebut sistem batasan masalah.

Jika, menurut kondisi permasalahan, diperlukan untuk mencari nilai variabel yang fungsi tujuan (1.1) mempunyai nilai maksimum, maka dikatakan bahwa fungsi tujuan tersebut tunduk pada maksimalisasi(atau ditujukan secara maksimal). Jika fungsi tujuan diharuskan mengambil nilai minimum, maka dikatakan tunduk minimalisasi(ditujukan minimal).

Perhatikan hasilnya. Fungsi tujuan merupakan fungsi linier dari variabel x 1, x 2, ... x n; pembatasan sendiri terhadap nilai variabel x 1, x 2, ... x n berbentuk pertidaksamaan linier. Semua ini menentukan nama kelas masalah ini - masalah pemrograman linier.

Sebagian besar masalah (tetapi tidak selalu) mengharuskan variabel mengambil nilai non-negatif (batasan non-negatif); Beberapa soal memerlukan variabel untuk mengambil nilai integer (batas bilangan bulat).

Model matematika linier dapat dibangun untuk banyak masalah yang diselesaikan dalam praktik.

Setiap nilai variabel yang memenuhi batasan masalah (1.2) disebut solusi yang valid(terlepas dari nilai apa yang diambil fungsi tujuan). Kebanyakan permasalahan mempunyai kemungkinan solusi yang tidak terbatas jumlahnya. Seluruh rangkaian solusi yang layak mewakili domain solusi yang layak (ADD).

Nilai variabel yang dapat diterima di mana fungsi tujuan mengambil nilai maksimum atau minimum (tergantung pada rumusan masalah), mis. mencapai titik ekstrem, mewakili solusi optimal.

Metode melakukan pekerjaan

Contoh soal LP

Contoh 1.1. Perusahaan industri kimia memproduksi asam klorida dan asam sulfat. Produksi satu ton asam klorida adalah 25 unit moneter (den. unit), produksi satu ton asam sulfat adalah 40 den. unit Untuk memenuhi perintah negara tersebut, diperlukan produksi sedikitnya 200 ton asam klorida dan sedikitnya 100 ton asam sulfat. Selain itu, harus diingat bahwa pelepasan asam dikaitkan dengan pembentukan limbah berbahaya. Pada produksi satu ton asam klorida dihasilkan 0,5 ton limbah B3, sedangkan pada produksi satu ton asam sulfat dihasilkan 1,2 ton limbah B3. Jumlah total Limbah B3 tidak boleh melebihi 600 ton, karena melebihi batas tersebut akan mengakibatkan perusahaan harus membayar denda yang besar.

Penting untuk menentukan berapa banyak asam klorida dan asam sulfat yang harus diproduksi perusahaan untuk memperoleh keuntungan yang maksimal.

Mari kita buat model matematis dari permasalahan tersebut. Untuk melakukan ini, kami memperkenalkan variabel. Mari kita nyatakan dengan x 1 jumlah asam klorida yang dihasilkan (dalam ton), dengan x 2 – jumlah asam sulfat.

Mari kita buat pembatasan terkait kebutuhan untuk memenuhi perintah pemerintah. Perusahaan tersebut perlu memproduksi sedikitnya 200 ton asam klorida. Batasan ini dapat dituliskan sebagai berikut: x 1,200. Demikian pula, mari kita buat batasan yang menyatakan bahwa perusahaan tersebut harus memproduksi paling sedikit 100 ton asam sulfat: x 2,100.

Kami akan menyusun pembatasan limbah berbahaya. Ketika satu ton asam klorida dilepaskan, 0,5 ton limbah berbahaya dihasilkan; Artinya jumlah total Limbah B3 pada saat pelepasan asam klorida adalah 0,5x 1 ton, dan pada saat pelepasan asam sulfat dihasilkan limbah B3 sebesar 1,2 x 2 ton. Dengan demikian, jumlah seluruh Limbah B3 adalah 0,5x 1 +1,2x 2 ton, nilai ini tidak boleh melebihi 600 ton, sehingga dapat dituliskan batasannya sebagai berikut: 0,5x 1 +1,2x 2 600.

Selain itu, variabel-variabel tersebut, berdasarkan arti fisisnya, tidak dapat mengambil nilai negatif, karena variabel-variabel tersebut menunjukkan jumlah asam yang dihasilkan. Oleh karena itu, perlu memperhitungkan batasan non-negatif: x 1 0; x 2 0.

Dalam soal ini, Anda perlu menentukan produksi asam yang menghasilkan keuntungan maksimal. Keuntungan dari produksi satu ton asam klorida adalah 25 sarang. unit; Artinya keuntungan produksi asam klorida adalah 25x 1 den. unit Keuntungan dari produksi asam sulfat adalah 40x 2 den. unit Jadi, total keuntungan dari produksi asam adalah 25x 1 + 40x 2 den. unit Diperlukan untuk menemukan nilai variabel x 1 dan x 2 di mana nilai ini akan menjadi maksimum. Jadi, fungsi tujuan dari soal ini akan berbentuk sebagai berikut:

E=25x 1 +40x 2 → maks.

Kami menyajikan model matematika lengkap dari masalah yang sedang dipertimbangkan:

0,5x 1 +1,2x 2 600

E=25x 1 +40x 2 → maks.

Masalah ini mempunyai dua kendala yang lebih besar dari atau sama dan satu kendala yang kurang dari atau sama. Fungsi tujuan tunduk pada maksimalisasi.

Contoh 1.2. Misalkan dalam kondisi tugas 1.1, karena persyaratan keselamatan lingkungan yang lebih ketat, jumlah limbah berbahaya perlu diminimalkan. Pada saat yang sama, harus diingat bahwa agar produksi asam layak secara ekonomi, perlu memperoleh keuntungan minimal 20 ribu den. unit

Model matematika dari masalah tersebut memiliki bentuk sebagai berikut:

25x 1 +40x 2 20000

E= 0,5x 1 +1,2x 2 → menit.

Batasan ketiga dalam model ini menyatakan bahwa keuntungan dari produksi asam minimal harus 20 ribu unit moneter. Fungsi tujuan mewakili jumlah limbah B3; nilai ini harus diminimalkan.

Metode grafis untuk memecahkan masalah LP

Metode grafis digunakan untuk menyelesaikan permasalahan yang hanya terdapat dua variabel. Untuk permasalahan seperti ini, wilayah solusi yang layak (ADS) dapat digambarkan secara grafis.

Catatan. Metode grafis juga dapat digunakan untuk menyelesaikan masalah dengan sejumlah variabel berapa pun, jika semua variabel masalah dapat diungkapkan melalui dua variabel mana pun.

Seperti disebutkan di atas, ODR adalah sekumpulan nilai variabel yang memenuhi batasan (1.2). Jadi, untuk soal dengan dua variabel, ODP adalah himpunan titik (x 1 ; x 2), yaitu. beberapa area pada bidang (biasanya poligon). Untuk soal dengan tiga variabel, ODR adalah polihedron dalam ruang; untuk soal dengan jumlah variabel yang banyak, ODR adalah wilayah tertentu dalam ruang multidimensi. Dapat dibuktikan bahwa fungsi tujuan ekstrem (minimum atau maksimum) selalu tercapai pada nilai-nilai variabel yang bersesuaian dengan salah satu titik sudut ODP. Dengan kata lain solusi optimal selalu terletak pada titik sudut ODR. Oleh karena itu, permasalahan program linier dua variabel dapat diselesaikan dengan cara sebagai berikut: buatlah ODD pada suatu bidang dalam sistem koordinat (x 1 ; x 2), tentukan semua titik sudut ODD, hitung nilai tujuannya berfungsi pada titik-titik ini dan memilih solusi optimal.

Mari kita selesaikan masalahnya secara grafis contoh 1.1.

Solusinya ditunjukkan pada Gambar. 1.1.

Beras. 1.1Contoh Penyelesaian 1.1 secara grafis

Batas x 1,200 diberikan oleh garis vertikal x 1 =200. Semua titik (x 1 ; x 2) yang terletak di sebelah kanan garis ini memenuhi batasan x 1,200, sedangkan yang terletak di sebelah kiri tidak. Batas x 2 100 diberikan oleh garis mendatar x 2 =100. Semua titik yang terletak di atas garis ini memenuhi batasan x 2 100, sedangkan titik di bawahnya tidak.

Untuk membuat garis yang mendefinisikan batasan 0,5x 1 +1,2x 2 600, akan lebih mudah untuk menuliskannya sebagai persamaan: 0,5x 1 +1,2x 2 =600. Mari kita nyatakan salah satu variabel melalui variabel lainnya: x 2 = -0,41x 1 +500. Ini adalah persamaan garis lurus. Mari kita buat garis lurus ini. Ini membagi bidang koordinat menjadi dua setengah bidang. Salah satu dari setengah bidang ini berisi titik-titik yang memenuhi batasan, dan setengah bidang lainnya berisi titik-titik yang tidak memenuhi batasan. Untuk mencari setengah bidang yang memenuhi batasan 0,5x 1 +1,2x 2 600, kita substitusikan koordinat titik mana pun ke dalamnya, misalnya (0; 0). Untuk titik ini batasannya terpenuhi. Artinya, ia berada pada setengah bidang yang memenuhi batasan.

Perpotongan semua setengah bidang yang memenuhi batasan masalah mewakili ODP. Pada Gambar. 1.1 itu disorot dalam warna abu-abu.

Solusi optimal terletak di salah satu titik sudut ODR (pada Gambar 1.1 ditetapkan sebagai A, B, C). Titik-titik ini dapat ditemukan dari grafik yang diplot atau dengan menyelesaikan sistem dua persamaan yang bersesuaian. Mari kita cari nilai fungsi tujuan pada titik-titik berikut:

E(A) = 25∙200 + 40∙100=9000;

E(B) = 25∙200 + 40∙416,67 = 21666,8;

E(C) = 25∙960 + 40∙100 = 28000.

Jadi solusi optimalnya ada di titik C= (960; 100). Artinya, perusahaan tersebut harus memproduksi 960 ton asam klorida dan 100 ton asam sulfat. Keuntungannya akan menjadi 28.000 unit moneter. Anda juga dapat mengetahui jumlah limbah berbahaya yang akan dihasilkan selama produksi asam: 0,5 960 + 1,2∙100 = 600 ton.

Mari kita selesaikan masalah dari Contoh 1.2 secara grafis. Solusinya ditunjukkan pada Gambar. 1.2.

Beras. 1.2Memecahkan masalah 1.2 secara grafis

Dalam hal ini ODR hanya mempunyai dua titik sudut (A dan B). Mari kita cari nilai fungsi tujuan mereka:

E(A)= 0,5 ∙ 200+1,2 ∙ 375 =550;

E (B) = 0,5∙640+1,2∙100 =440.

Jadi solusi optimalnya ada di titik B(640; 100). Artinya, perusahaan tersebut harus memproduksi 640 ton asam klorida dan 100 ton asam sulfat. Ini menghasilkan 440 ton limbah berbahaya. Anda juga dapat mengetahui keuntungan dari produksi asam: 25 ∙ 640 + 40 ∙ 100 = 20.000 unit moneter.

Mari kita pertimbangkan kasus paling sederhana, ketika tepat dua variabel dimasukkan dalam LLP:

Masing-masing pertidaksamaan (a)-(b) dari sistem batasan pada soal (3.8) secara geometris mendefinisikan setengah bidang, masing-masing, dengan garis lurus batas, X 1 =0 dan X 2 =0. Masing-masing garis batas membagi bidang x 1 Sapi 2 menjadi dua setengah bidang. Semua solusi terhadap pertidaksamaan awal terletak pada salah satu setengah bidang yang terbentuk (semua titik pada setengah bidang) dan, oleh karena itu, mensubstitusikan koordinat salah satu titiknya ke dalam pertidaksamaan yang bersesuaian akan mengubahnya menjadi identitas sebenarnya. Dengan mempertimbangkan hal ini, setengah bidang tempat penyelesaian pertidaksamaan ditentukan, yaitu. dengan memilih titik mana pun dari setengah bidang mana pun dan mensubstitusikan koordinatnya ke dalam pertidaksamaan yang sesuai. Jika suatu pertidaksamaan berlaku pada suatu titik tertentu, maka pertidaksamaan tersebut juga berlaku pada titik lain mana pun pada setengah bidang yang sama. Jika tidak, penyelesaian pertidaksamaan terletak pada setengah bidang lainnya.

Jika sistem pertidaksamaan (a)-(b) konsisten, maka domain penyelesaiannya adalah himpunan titik-titik yang dimiliki oleh semua setengah bidang yang ditunjukkan. Karena himpunan titik potong setengah bidang ini adalah cembung, maka domain penyelesaian yang dapat diterima untuk soal (3.8) adalah himpunan cembung, yang disebut poligon solusi (istilah “polihedron solusi” yang diperkenalkan sebelumnya biasanya digunakan jika n 3 ). Sisi-sisi poligon ini terletak pada garis lurus yang persamaannya diperoleh dari sistem kendala asli dengan mengganti tanda pertidaksamaan dengan tanda persamaan eksak.

Jadi, ZLP awal terdiri dari pencarian suatu titik pada poligon keputusan di mana fungsi tujuan F mengambil nilai maksimum (minimum).

Titik ini ada jika poligon penyelesaiannya tidak kosong dan fungsi tujuan pada poligon tersebut dibatasi dari atas. Dalam kondisi tertentu, pada salah satu simpul poligon solusi, fungsi tujuan mengambil nilai maksimum. Untuk menentukan titik sudut ini, buatlah garis lurus L: c 1 x 1 +c 2 x 2 =h (dimana h adalah suatu konstanta), tegak lurus terhadap vektor gradien dan melewati poligon solusi, dan gerakkan sejajar sepanjang vektor gradien sampai melewati titik perpotongan terakhirnya dengan poligon solusi (saat membuat vektor gradien, sebuah titik (c 1 ; c 2) diletakkan pada bidang x 1 Ox 2 dan segmen berarah ditarik ke sana dari asal koordinat). Koordinat titik tertentu menentukan rencana optimal untuk tugas ini.

Meringkas semua hal di atas, kami menyajikan algoritma metode grafis untuk menyelesaikan ZLP.

Algoritma untuk metode grafis penyelesaian ZLP

1. Buatlah poligon solusi yang ditentukan oleh sistem pembatasan ZLP asli.


2. Jika poligon solusi yang dibangun adalah himpunan kosong, maka ZLP asli tidak memiliki solusi. Jika tidak, buatlah vektor gradien dan gambarlah garis sembarang tingkat L, yang bergerak, ketika menyelesaikan masalah maksimum, ke arah vektor (atau ke arah yang berlawanan untuk masalah minimum) untuk menentukan titik ekstrim dari poligon solusi, dimana maksimum (minimum) dari fungsi tujuan masalah tercapai .

3. Hitung koordinat titik optimal yang ditemukan dengan menyelesaikan sistem persamaan dua garis batas yang berpotongan di dalamnya.

4. Dengan mensubstitusikan solusi optimal yang ditemukan ke dalam fungsi tujuan masalah, hitunglah nilai optimalnya, yaitu: .

Saat membangun secara grafis himpunan solusi yang dapat diterima dari PLP (poligon solusi), situasi berikut mungkin terjadi.

Apakah Anda menyukai artikelnya? Bagikan dengan teman: