Memecahkan masalah pemrograman linier dengan metode grafis. Menemukan ekstrem dari suatu fungsi dengan metode grafis

Kami membagi baris ketiga dengan elemen kunci sama dengan 5, kami mendapatkan baris ketiga dari tabel baru.

Kolom dasar sesuai dengan kolom tunggal.

Perhitungan nilai tabel yang tersisa:

"BP - Paket Dasar":

; ;

"x1": ; ;

"x5": ; .

Nilai baris indeks adalah non-negatif, oleh karena itu kami memperoleh solusi optimal: , ; .

Menjawab: keuntungan maksimum dari penjualan produk manufaktur, sama dengan 160/3 unit, dipastikan dengan pelepasan hanya produk tipe kedua dalam jumlah 80/9 unit.


Tugas nomor 2

Masalah pemrograman nonlinier diberikan. Temukan maksimum dan minimum dari fungsi tujuan menggunakan metode analisis grafik. Susunlah fungsi Lagrange dan tunjukkan bahwa kondisi minimum (maksimum) yang memadai dipenuhi pada titik-titik ekstrem.

Karena digit terakhir cipher adalah 8, maka A=2; B=5.

Karena digit terakhir dari cipher adalah 1, maka Anda harus memilih tugas nomor 1.

Keputusan:

1) Mari kita menggambar area yang didefinisikan oleh sistem pertidaksamaan.


Luas tersebut adalah segitiga ABC dengan koordinat titik-titik: A(0; 2); B(4; 6) dan C(16/3; 14/3).

Tingkat fungsi tujuan adalah lingkaran yang berpusat di titik (2; 5). Kuadrat jari-jari akan menjadi nilai fungsi tujuan. Kemudian gambar menunjukkan bahwa nilai minimum dari fungsi tujuan tercapai pada titik H, nilai maksimum baik pada titik A atau pada titik C.

Nilai fungsi tujuan di titik A: ;

Nilai fungsi tujuan di titik C: ;

Ini berarti bahwa nilai maksimum fungsi tercapai pada titik A(0; 2) dan sama dengan 13.

Tentukan koordinat titik H.

Untuk melakukan ini, pertimbangkan sistem:

ó

ó

Sebuah garis bersinggungan dengan lingkaran jika persamaan memiliki solusi yang unik. Persamaan kuadrat memiliki solusi unik jika diskriminannya adalah 0.


Kemudian ; ; - nilai minimum fungsi.

2) Susun fungsi Lagrange untuk mencari solusi minimum:

Pada x 1 =2.5; x 2 =4.5 kita mendapatkan:

ó

Sistem memiliki solusi untuk , mis. kondisi ekstrem yang cukup terpenuhi.

Kami menyusun fungsi Lagrange untuk menemukan solusi maksimum:

Kondisi yang cukup untuk ekstrem:

Pada x 1 =0; x 2 =2 kita mendapatkan:

ó ó

Sistem ini juga memiliki solusi, yaitu kondisi ekstrem yang cukup terpenuhi.

Menjawab: minimum dari fungsi tujuan tercapai pada ; ; fungsi tujuan maksimum tercapai jika ; .


Tugas nomor 3

Dua perusahaan dialokasikan dana dalam jumlah d unit. Ketika dialokasikan ke perusahaan pertama selama satu tahun x unit dana yang memberikan pendapatan k 1 x unit, dan ketika dialokasikan ke perusahaan kedua kamu unit dana, itu memberikan pendapatan k 1 kamu unit. Saldo dana pada akhir tahun untuk perusahaan pertama sama dengan nx, dan untuk yang kedua -ku. Bagaimana cara mendistribusikan semua dana dalam waktu 4 tahun sehingga total pendapatan terbesar? Memecahkan masalah dengan pemrograman dinamis.

i=8, k=1.

J=2200; k 1 = 6; k2=1; n=0.2; m = 0,5.

Keputusan:

Seluruh periode 4 tahun dibagi menjadi 4 tahap yang masing-masing sama dengan satu tahun. Mari kita beri nomor tahapan mulai dari tahun pertama. Misalkan X k dan Y k adalah dana yang dialokasikan masing-masing untuk perusahaan A dan B pada tahap ke-k. Maka jumlah X k + Y k =a k adalah jumlah total dana yang digunakan pada tahap k - itu dan sisa dari tahap sebelumnya k - 1. pada tahap pertama semua dana yang dialokasikan digunakan dan a 1 =2200 unit. pendapatan yang akan diterima pada k - tahap itu, ketika unit X k dan Y k dialokasikan, akan menjadi 6X k + 1Y k . biarkan pendapatan maksimum yang diterima pada tahap terakhir dimulai dari k - tahap itu adalah f k (a k) unit. Mari kita tulis persamaan fungsional Bellman yang menyatakan prinsip optimalitas: berapa pun keadaan awal dan solusi awal, solusi selanjutnya harus optimal terhadap keadaan yang diperoleh sebagai hasil dari keadaan awal:

Untuk setiap tahap, Anda harus memilih nilai X k , dan nilainya y k=ak- Xk. Dengan mengingat hal ini, kita akan menemukan pendapatan pada tahap ke-k:

Persamaan Bellman fungsional akan terlihat seperti:

Pertimbangkan semua tahapan, dimulai dengan yang terakhir.

(karena maksimum fungsi linier dicapai pada akhir segmen pada x 4 = a 4);

PEKERJAAN KONTROL PADA DISIPLIN:

"METODE SOLUSI OPTIMAL"

Opsi nomor 8

1. Memecahkan masalah pemrograman linier menggunakan metode grafis. Temukan maksimum dan minimum dari fungsi di bawah batasan yang diberikan:

,

.

Keputusan

Penting untuk menemukan nilai minimum dari fungsi tujuan dan maksimum, di bawah sistem pembatasan:

9x1 +3x2 30, (1)

X 1 + x 2 4, (2)

x 1 + x 2 8, (3)

Mari kita buat domain dari solusi yang dapat diterima, mis. menyelesaikan secara grafis sistem pertidaksamaan. Untuk melakukan ini, kami membangun setiap garis lurus dan mendefinisikan setengah bidang yang diberikan oleh pertidaksamaan (setengah bidang ditandai dengan prima).

Perpotongan setengah bidang akan menjadi area, koordinat titik-titik yang memenuhi kondisi ketidaksetaraan sistem kendala masalah. Mari kita tunjukkan batas-batas wilayah poligon solusi.

Mari kita buat garis lurus yang sesuai dengan nilai fungsi F = 0: F = 2x 1 +3x 2 = 0. Vektor gradien yang terdiri dari koefisien fungsi tujuan menunjukkan arah minimalisasi F(X). Awal dari vektor adalah titik (0; 0), ujungnya adalah titik (2; 3). Mari kita pindahkan garis ini secara paralel. Karena kami tertarik pada solusi minimum, oleh karena itu, kami memindahkan garis lurus sampai sentuhan pertama dari area yang ditentukan. Pada grafik, garis ini ditunjukkan dengan garis putus-putus.

Lurus
memotong daerah di titik C. Karena titik C diperoleh dari perpotongan garis (4) dan (1), maka koordinatnya memenuhi persamaan garis berikut:
.

Setelah memecahkan sistem persamaan, kita mendapatkan: x 1 = 3,3333, x 2 = 0.

Di mana kita dapat menemukan nilai minimum dari fungsi tujuan: .

Pertimbangkan fungsi tujuan dari masalah.

Mari kita buat garis lurus yang sesuai dengan nilai fungsi F = 0: F = 2x 1 +3x 2 = 0. Vektor gradien yang terdiri dari koefisien fungsi tujuan menunjukkan arah maksimalisasi F(X). Awal dari vektor adalah titik (0; 0), ujungnya adalah titik (2; 3). Mari kita pindahkan garis ini secara paralel. Karena kami tertarik pada solusi maksimum, kami memindahkan garis lurus hingga sentuhan terakhir dari area yang ditentukan. Pada grafik, garis ini ditunjukkan dengan garis putus-putus.

Lurus
memotong daerah di titik B. Karena titik B diperoleh dari perpotongan garis (2) dan (3), maka koordinatnya memenuhi persamaan garis berikut:

.

Di mana kita dapat menemukan nilai maksimum dari fungsi tujuan: .

Menjawab:
dan
.

2 . Memecahkan masalah pemrograman linier menggunakan metode simpleks:

.

Keputusan

Mari kita selesaikan masalah langsung pemrograman linier dengan metode simpleks, menggunakan tabel simpleks.

Mari kita tentukan nilai minimum dari fungsi tujuan
di bawah kondisi-pembatasan berikut:
.

Untuk menyusun rencana referensi pertama, kami mengurangi sistem pertidaksamaan menjadi sistem persamaan dengan memasukkan variabel tambahan.

Dalam ketidaksetaraan makna pertama (≥), kami memperkenalkan variabel dasar x 3 dengan tanda minus. Dalam ketidaksamaan makna ke-2 (≤), kami memperkenalkan variabel dasar x 4 . Dalam pertidaksamaan makna ke-3 (≤), kami memperkenalkan variabel dasar x 5 .

Mari kita perkenalkan variabel buatan : dalam persamaan pertama kami memperkenalkan variabel x 6 ;

Untuk menetapkan tugas minimum, kami menulis fungsi tujuan sebagai berikut: .

Untuk penggunaan variabel buatan yang dimasukkan ke dalam fungsi tujuan, apa yang disebut penalti M dikenakan, angka positif yang sangat besar, yang biasanya tidak ditentukan.

Basis yang dihasilkan disebut artifisial, dan metode penyelesaiannya disebut metode basis buatan.

Selain itu, variabel buatan tidak terkait dengan konten tugas, tetapi memungkinkan Anda untuk membangun titik awal, dan proses optimasi memaksa variabel-variabel ini untuk mengambil nilai nol dan memastikan diterimanya solusi optimal.

Dari persamaan kami menyatakan variabel buatan: x 6 \u003d 4-x 1 -x 2 +x 3, yang kami substitusikan ke dalam fungsi tujuan: atau.

Matriks Koefisien
sistem persamaan ini memiliki bentuk:
.

Mari kita selesaikan sistem persamaan sehubungan dengan variabel dasar: x 6 , x 4 , x 5.

Dengan asumsi bahwa variabel bebas adalah 0, kita mendapatkan baseline pertama:

X1 = (0,0,0,2,10,4)

Sebuah solusi dasar disebut diterima jika non-negatif.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

x 4

x 5

Baseline saat ini tidak optimal karena terdapat koefisien positif pada baris indeks. Kami akan memilih kolom yang sesuai dengan variabel x 2 sebagai yang terdepan, karena ini adalah koefisien terbesar. Hitung nilainya D saya dan pilih yang terkecil dari mereka: min(4: 1 , 2: 2 , 10: 2) = 1.

Oleh karena itu, baris ke-2 memimpin.

Elemen penyelesaian sama dengan (2) dan terletak di persimpangan kolom terdepan dan baris terdepan.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

x 4

x 5

Kami membentuk bagian selanjutnya dari tabel simpleks. Alih-alih variabel x 4, variabel x 2 akan masuk ke dalam rencana 1.

Garis yang bersesuaian dengan variabel x 2 pada denah 1 diperoleh dengan membagi semua elemen garis x 4 denah 0 dengan elemen pendukung RE=2. Di tempat elemen penyelesaian, kami mendapatkan 1. Di sel yang tersisa dari kolom x 2, kami menulis nol.

Jadi, pada denah baru 1 baris x 2 dan kolom x 2 terisi. Semua elemen lain dari rencana 1 baru, termasuk elemen baris indeks, ditentukan oleh aturan persegi panjang.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

x 2

x 5

1 1/2 +1 1/2 M

Baseline saat ini tidak optimal karena terdapat koefisien positif pada baris indeks. Kami akan memilih kolom yang sesuai dengan variabel x 1 sebagai yang terdepan, karena ini adalah koefisien terbesar. Hitung nilainya D saya dengan baris sebagai hasil bagi pembagian: dan dari mereka kami memilih yang terkecil: min (3: 1 1/2, -, 8: 2) = 2.

Oleh karena itu, baris pertama memimpin.

Elemen penyelesaian sama dengan (1 1 / 2) dan terletak di persimpangan kolom terdepan dan baris terdepan.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

1 1 / 2

x 2

x 5

-1 1 / 2 +1 1 / 2 M

Kami membentuk bagian selanjutnya dari tabel simpleks. Alih-alih variabel x 6 , variabel x 1 akan dimasukkan dalam rencana 2.

Kami mendapatkan tabel simpleks baru:

x 1

x 2

x 3

x 4

x 5

x 6

x 1

x 2

x 5

Tidak ada nilai baris indeks yang positif. Oleh karena itu, tabel ini menentukan rencana tugas yang optimal.

Versi terakhir dari tabel simpleks:

x 1

x 2

x 3

x 4

x 5

x 6

x 1

x 2

x 5

Karena tidak ada variabel buatan dalam solusi optimal (sama dengan nol), solusi ini layak.

Rencana optimal dapat ditulis sebagai berikut: x 1 \u003d 2, x 2 \u003d 2:.

Menjawab:
,
.

3. Perusahaan "Tiga pria gemuk" bergerak dalam pengiriman daging kaleng dari tiga gudang yang terletak di berbagai bagian kota ke tiga toko. Stok makanan kaleng yang tersedia di gudang, serta volume pesanan dari toko dan tarif pengiriman (dalam unit moneter konvensional) disajikan dalam tabel transportasi.

Temukan rencana transportasi yang memberikan biaya tunai paling sedikit (lakukan rencana transportasi awal menggunakan metode "sudut barat laut").

Keputusan

Mari kita periksa kondisi perlu dan cukup untuk solvabilitas masalah:

= 300 + 300 + 200 = 800 .

= 250 + 400 + 150 = 800.

Kondisi keseimbangan terpenuhi. Saham sama kebutuhan. Oleh karena itu, model masalah transportasi ditutup.

Mari kita masukkan data awal dalam tabel distribusi.

Kebutuhan

Dengan menggunakan metode sudut barat laut, kita akan membangun rencana dasar pertama dari masalah transportasi.

Rencananya mulai diisi dari sudut kiri atas.

Elemen yang diinginkan adalah 4. Untuk elemen ini, stoknya 300, kebutuhannya 250. Karena minimal 250, kita kurangi: .

300 - 250 = 50

250 - 250 = 0

Elemen yang diinginkan adalah 2. Untuk elemen ini, stoknya adalah 50, kebutuhannya adalah 400. Karena minimumnya adalah 50, kita kurangi: .

50 - 50 = 0

400 - 50 = 350

Elemen yang diinginkan adalah 5. Untuk elemen ini, stoknya adalah 300, kebutuhannya adalah 350. Karena minimumnya adalah 300, kita kurangi:

300 - 300 = 0

350 - 300 = 50

Elemen yang diinginkan adalah 3. Untuk elemen ini, stoknya adalah 200, kebutuhannya adalah 50. Karena minimumnya adalah 50, kita kurangi:

200 - 50 = 150

50 - 50 = 0

Elemen yang diinginkan adalah 6. Untuk elemen ini, stoknya adalah 150, kebutuhannya adalah 150. Karena minimumnya adalah 150, kita kurangi:

150 - 150 = 0

150 - 150 = 0

Kebutuhan

Temukan dengan metode grafis maksimum fungsi tujuan

F = 2x 1 + 3x 2 ® maksimal

Dengan batasan

Keputusan menggunakan spreadsheet Excel

Pertama, mari kita buat solusi untuk sistem ketidaksetaraan pada lembar Excel.

Pertimbangkan ketidaksetaraan pertama.

Mari kita buat garis batas dari dua titik. Tunjukkan baris dengan (L1) (atau Baris1). Koordinat X 2 kami menghitung sesuai dengan rumus:

Untuk membangun, pilih plot pencar

Memilih data untuk garis lurus

Ubah nama baris:

Pilih tata letak bagan. Ubah nama sumbu koordinat:

Garis lurus (L1) pada grafik:

Penyelesaian pertidaksamaan tegas dapat ditemukan dengan menggunakan satu titik uji yang tidak termasuk dalam garis (L1). Misalnya, menggunakan titik (0; 0)W(L1).

0+3×0< 18 или 0 < 18 .

Pertidaksamaan benar, oleh karena itu, solusi pertidaksamaan (1) akan menjadi setengah bidang di mana titik uji berada (pada gambar di bawah garis L1).

Kemudian kita selesaikan pertidaksamaan (2) .

Mari kita buat garis batas 2 dari dua titik. Tunjukkan garis dengan (L2).

Garis lurus (L2) pada grafik:

Penyelesaian pertidaksamaan tegas 2 dapat ditemukan dengan menggunakan satu-satunya titik uji yang tidak termasuk dalam garis (L2). Misalnya, menggunakan titik (0; 0)W(L2).

Mengganti koordinat titik (0; 0), kita memperoleh pertidaksamaan

2×0 + 0< 16 или 0 < 16 .

Pertidaksamaan benar, oleh karena itu, solusi pertidaksamaan (2) akan menjadi setengah bidang di mana titik uji berada (pada gambar di bawah, garis L2).

Kemudian kita selesaikan pertidaksamaan (3) .

Mari kita buat garis batas dari dua titik. Tunjukkan garis dengan (L3).

Garis lurus (L3) pada grafik:

Penyelesaian pertidaksamaan tegas 2 dapat ditemukan dengan menggunakan satu-satunya titik uji yang tidak termasuk dalam garis (L3). Misalnya, menggunakan titik (0; 0)W(L3).

Mengganti koordinat titik (0; 0), kita memperoleh pertidaksamaan

Pertidaksamaan benar, oleh karena itu, solusi pertidaksamaan (3) akan menjadi setengah bidang di mana titik uji berada (pada gambar di bawah, garis L3).

Kemudian kita selesaikan pertidaksamaan (4) .

Mari kita buat garis batas dari dua titik. Tunjukkan garis dengan (L4).

Tambahkan data ke lembar excel

Garis lurus (L4) pada grafik:

Solusi Ketimpangan Ketat 3 X 1 < 21 можно найти с помощью единственной пробной точки, не принадлежащей прямой (L4). Например, с помощью точки (0; 0)Ï(L4).

Mengganti koordinat titik (0; 0), kita memperoleh pertidaksamaan

Pertidaksamaan benar, oleh karena itu, solusi pertidaksamaan (4) akan menjadi setengah bidang di mana titik uji berada (di sebelah kiri garis L4 pada gambar).


Dengan menyelesaikan dua pertidaksamaan (5) dan (6)

adalah kuartal 1 yang dibatasi oleh garis koordinat dan .

Sistem ketidaksetaraan diselesaikan. Penyelesaian sistem pertidaksamaan (1) - (6) dalam contoh ini adalah poligon cembung di sudut kiri bawah gambar, dibatasi oleh garis L1, L2, L3, L4 dan garis koordinat dan . Anda dapat memastikan bahwa poligon dipilih dengan benar dengan mengganti titik uji, misalnya (1; 1) ke dalam setiap pertidaksamaan dari sistem aslinya. Mengganti titik (1; 1), kita memperoleh bahwa semua pertidaksamaan, termasuk kendala alami, adalah benar.

Pertimbangkan sekarang fungsi tujuan

F = 2x 1 + 3x 2 .

Mari kita buat garis level untuk nilai fungsi F=0 dan F = 12(nilai numerik dipilih secara sewenang-wenang). Tambahkan data ke lembar excel

Garis level pada grafik:

Mari kita buat vektor arah (atau gradien) (2; 3). Koordinat vektor bertepatan dengan koefisien fungsi tujuan F.

fungsi objektif- fungsi nyata atau bilangan bulat dari beberapa variabel, tunduk pada optimasi (minimalisasi atau maksimalisasi) untuk memecahkan beberapa masalah optimasi. Istilah ini digunakan dalam pemrograman matematika, riset operasi, pemrograman linier, teori keputusan statistik dan bidang matematika lainnya, terutama yang bersifat terapan, meskipun tujuan optimasi juga dapat menjadi solusi dari masalah matematika itu sendiri. Selain fungsi tujuan, dalam masalah optimasi, variabel dapat dikenai pembatasan berupa sistem persamaan atau ketidaksamaan. Dalam kasus umum, argumen fungsi tujuan dapat ditentukan pada himpunan arbitrer.

Contoh

Fungsi halus dan sistem persamaan

Masalah penyelesaian sistem persamaan apa pun

( F 1 (x 1 , x 2 , … , x M) = 0 F 2 (x 1 , x 2 , … , x M) = 0 … F N (x 1 , x 2 , … , x M) = 0 ( \displaystyle \left\((\begin(matrix)F_(1)(x_(1),x_(2),\ldots ,x_(M))=0\\F_(2)(x_(1),x_ (2),\ldots ,x_(M))=0\\\ldots \\F_(N)(x_(1),x_(2),\ldots ,x_(M))=0\end(matriks) )\Baik.)

dapat dirumuskan sebagai masalah meminimalkan fungsi tujuan

S = j = 1 N F j 2 (x 1 , x 2 , … , x M) (1) (\displaystyle S=\sum _(j=1)^(N)F_(j)^(2)( x_(1),x_(2),\ldots ,x_(M))\qquad(1))

Jika fungsinya mulus, maka masalah minimasi dapat diselesaikan dengan metode gradien.

Untuk setiap fungsi tujuan halus, seseorang dapat menyamakan dengan 0 (\displaystyle 0) turunan parsial terhadap semua variabel. Fungsi tujuan yang optimal akan menjadi salah satu solusi untuk sistem persamaan tersebut. Dalam kasus fungsi (1) (\displaystyle (1)) ini akan menjadi sistem persamaan kuadrat terkecil (LSM). Setiap solusi dari sistem asli adalah solusi dari sistem kuadrat terkecil. Jika sistem asli tidak konsisten, maka sistem LSM, yang selalu memiliki solusi, memungkinkan untuk mendapatkan solusi perkiraan dari sistem asli. Jumlah persamaan sistem LSM bertepatan dengan jumlah yang tidak diketahui, yang terkadang memfasilitasi solusi sistem awal bersama.

Pemrograman linier

Contoh lain yang terkenal dari fungsi tujuan adalah fungsi linier yang terjadi dalam masalah pemrograman linier. Berbeda dengan fungsi tujuan kuadrat, optimasi fungsi linier hanya dimungkinkan jika terdapat pembatasan berupa sistem persamaan atau pertidaksamaan linier.

Optimasi kombinatorial

Contoh khas dari fungsi tujuan kombinatorial adalah fungsi tujuan dari masalah penjual keliling. Fungsi ini sama dengan panjang siklus Hamilton pada grafik. Ini diberikan pada himpunan permutasi n 1 (\displaystyle n-1) dari simpul graf dan ditentukan oleh matriks panjang tepi graf. Solusi yang tepat dari masalah seperti itu sering kali bermuara pada penghitungan opsi.

Bab 1. Pernyataan masalah utama pemrograman linier

  1. Pemrograman linier

Pemrograman linier adalah cabang dari pemrograman matematika yang mempelajari metode untuk memecahkan masalah ekstrem yang dicirikan oleh hubungan linier antara variabel dan kriteria linier. Tugas-tugas seperti itu menemukan aplikasi yang luas di berbagai bidang aktivitas manusia. Sebuah studi sistematis masalah jenis ini dimulai pada tahun 1939-1940. dalam karya L.V. Kantorovich.

Masalah matematika program linier mencakup studi produksi tertentu dan situasi ekonomi, yang dalam satu atau lain bentuk ditafsirkan sebagai masalah penggunaan sumber daya yang terbatas secara optimal.

Rentang masalah yang diselesaikan dengan menggunakan metode pemrograman linier cukup luas, antara lain:

    masalah penggunaan sumber daya yang optimal dalam perencanaan produksi;

    masalah campuran (merencanakan komposisi produk);

    masalah menemukan kombinasi optimal dari berbagai jenis produk untuk penyimpanan di gudang (manajemen inventaris atau);

    tugas transportasi (analisis lokasi perusahaan, pergerakan barang).

Pemrograman linier adalah bagian yang paling berkembang dan banyak digunakan dari pemrograman matematika (selain itu, ini termasuk: bilangan bulat, dinamis, non-linier, pemrograman parametrik). Hal ini dijelaskan sebagai berikut:

    model matematika dari sejumlah besar masalah ekonomi adalah linier terhadap variabel yang diperlukan;

    jenis masalah saat ini yang paling dipelajari. Baginya, metode khusus telah dikembangkan dengan bantuan yang memecahkan masalah ini, dan program komputer yang sesuai;

    banyak masalah pemrograman linier, yang dipecahkan, telah menemukan aplikasi yang luas;

    beberapa masalah yang tidak linier dalam formulasi aslinya, setelah sejumlah batasan dan asumsi tambahan, dapat menjadi linier atau dapat direduksi menjadi bentuk sedemikian rupa sehingga dapat diselesaikan dengan metode pemrograman linier.

Model ekonomi dan matematika dari setiap masalah program linier meliputi: fungsi tujuan, nilai optimal yang (maksimum atau minimum) harus ditemukan; pembatasan berupa sistem persamaan atau pertidaksamaan linier; persyaratan non-negatif variabel.

Secara umum, model ditulis sebagai berikut:

fungsi objektif

(1.1) di bawah batasan

(1.2) persyaratan non-negatif

(1.3) dimana x j– variabel (tidak diketahui);

- koefisien dari masalah program linier.

Masalahnya adalah mencari nilai optimal dari fungsi (1.1) yang tunduk pada kendala (1.2) dan (1.3).

Sistem kendala (1.2) disebut kendala fungsional dari masalah, dan kendala (1.3) disebut kendala langsung.

Sebuah vektor yang memenuhi kendala (1.2) dan (1.3) disebut solusi layak (rencana) dari masalah program linier. Rencana di mana fungsi (1.1) mencapai nilai maksimum (minimum) disebut optimal.

1.2. Metode simpleks untuk menyelesaikan masalah program linier

Metode simpleks dikembangkan dan pertama kali diterapkan untuk memecahkan masalah pada tahun 1947 oleh matematikawan Amerika J. Dantzig.

Masalah pemrograman linier dua dimensi diselesaikan secara grafis. Untuk kasus N=3, kita dapat mempertimbangkan ruang tiga dimensi dan fungsi tujuan akan mencapai nilai optimalnya di salah satu simpul polihedron.

Solusi yang dapat diterima (rencana yang dapat diterima) dari masalah LP yang diberikan dalam bentuk standar adalah himpunan bilangan berurutan (x1, x2, ..., xn) yang memenuhi kendala; adalah titik dalam ruang n-dimensi.

Himpunan solusi yang dapat diterima membentuk area solusi yang dapat diterima (SDR) dari masalah LP. ODR adalah polihedron cembung (poligon).

Secara umum, ketika N-tidak diketahui terlibat dalam masalah, kita dapat mengatakan bahwa area solusi layak yang ditentukan oleh sistem kondisi pembatas diwakili oleh polihedron cembung dalam ruang n-dimensi dan nilai optimal tujuan fungsi dicapai pada satu atau lebih simpul.

Suatu solusi disebut dasar jika semua variabel bebas sama dengan nol.

Solusi referensi adalah solusi non-negatif dasar. Solusi dukungan dapat berupa non-degenerasi dan degenerasi. Solusi pendukung disebut non-degenerate jika jumlah koordinat non-nolnya sama dengan peringkat sistem, jika tidak maka akan degenerate.

Solusi yang layak, di mana fungsi tujuan mencapai nilai ekstrimnya, disebut optimal dan dilambangkan .

Sangat sulit untuk menyelesaikan masalah ini secara grafis ketika jumlah variabel lebih dari 3. Ada cara universal untuk menyelesaikan masalah pemrograman linier, yang disebut metode simpleks.

Metode simpleks adalah metode universal untuk menyelesaikan masalah LP, yang merupakan proses iteratif yang dimulai dengan satu solusi dan, dalam mencari opsi terbaik, bergerak sepanjang titik sudut dari area solusi yang layak hingga mencapai nilai optimal. .

Ini dapat digunakan untuk menyelesaikan masalah pemrograman linier apa pun.

Metode simpleks didasarkan pada gagasan peningkatan berturut-turut dari solusi yang dihasilkan.

Arti geometris dari metode simpleks adalah berpindah secara berurutan dari satu simpul polihedron kendala ke simpul tetangga, di mana fungsi tujuan mengambil nilai terbaik (atau setidaknya bukan yang terburuk) sampai solusi optimal ditemukan - simpul di mana nilai optimal tercapai fungsi tujuan (jika masalah memiliki optimal terbatas).

Jadi, memiliki sistem kendala yang direduksi menjadi bentuk kanonik (semua kendala fungsional dalam bentuk persamaan), seseorang menemukan solusi dasar dari sistem ini, hanya dengan berhati-hati untuk menemukannya sesederhana mungkin. Jika solusi dasar yang pertama kali ditemukan ternyata layak, maka akan diperiksa optimalitasnya. Jika tidak optimal, maka transisi dibuat ke solusi dasar lain yang tentu dapat diterima. Metode simpleks menjamin bahwa, dengan solusi baru ini, fungsi tujuan, jika tidak mencapai optimum, maka mendekatinya (atau setidaknya tidak menjauhinya). Dengan solusi dasar baru yang dapat diterima, hal yang sama dilakukan sampai ditemukan solusi yang optimal.

Proses penerapan metode simpleks melibatkan penerapan tiga elemen utamanya:

    metode untuk menentukan beberapa solusi dasar yang layak awal untuk masalah tersebut;

    aturan transisi ke solusi terbaik (lebih tepatnya, bukan yang terburuk);

    kriteria untuk memeriksa optimalitas solusi yang ditemukan.

Metode simpleks mencakup sejumlah langkah dan dapat dirumuskan sebagai algoritma yang jelas (instruksi yang jelas untuk melakukan operasi sekuensial). Ini memungkinkan Anda untuk berhasil memprogram dan mengimplementasikannya di komputer. Masalah dengan sejumlah kecil variabel dan kendala dapat diselesaikan dengan metode simpleks secara manual.

6.1 Pendahuluan

Optimasi. Bagian 1

Metode pengoptimalan memungkinkan Anda memilih opsi desain terbaik dari semua opsi yang memungkinkan. Dalam beberapa tahun terakhir, banyak perhatian telah diberikan pada metode ini, dan sebagai hasilnya, sejumlah algoritma yang sangat efisien telah dikembangkan yang memungkinkan untuk menemukan opsi desain yang optimal menggunakan komputer digital. Bab ini menguraikan dasar-dasar teori optimasi, mempertimbangkan prinsip-prinsip yang mendasari konstruksi algoritma untuk solusi optimal, menjelaskan algoritma yang paling terkenal, dan menganalisis kelebihan dan kekurangannya.

6.2 Dasar-dasar teori optimasi

Istilah "optimasi" dalam literatur mengacu pada proses atau urutan operasi yang memungkinkan Anda mendapatkan solusi yang disempurnakan. Meskipun tujuan akhir dari optimasi adalah untuk menemukan solusi terbaik, atau "optimal", seseorang biasanya harus puas dengan meningkatkan solusi yang diketahui daripada menyempurnakannya. Oleh karena itu, optimasi lebih mungkin dipahami sebagai mengejar kesempurnaan, yang mungkin tidak akan tercapai.

Mempertimbangkan beberapa sistem arbitrer yang dijelaskan oleh m persamaan dengan n yang tidak diketahui, kita dapat membedakan tiga jenis masalah utama. Jika m=n , masalahnya disebut aljabar. Masalah seperti itu biasanya memiliki satu solusi. Jika m>n, maka masalahnya didefinisikan ulang dan, sebagai aturan, tidak memiliki solusi. Akhirnya, untuk m

Sebelum melanjutkan ke pembahasan masalah optimasi, kami memperkenalkan sejumlah definisi.

Parameter desain

Istilah ini menunjukkan parameter variabel independen yang secara lengkap dan jelas mendefinisikan masalah desain yang sedang dipecahkan. Parameter desain adalah jumlah yang tidak diketahui, yang nilainya dihitung selama proses optimasi. Setiap kuantitas dasar atau turunan yang berfungsi untuk menggambarkan sistem secara kuantitatif dapat berfungsi sebagai parameter desain. Jadi, dapat diketahui nilai panjang, massa, waktu, suhu. Jumlah parameter desain mencirikan tingkat kompleksitas masalah desain ini. Biasanya jumlah parameter desain dilambangkan dengan n, dan parameter desain itu sendiri dengan x dengan indeks yang sesuai. Dengan demikian, n parameter desain dari masalah ini akan dilambangkan dengan

X1, x2, x3,...,xn.

fungsi objektif

Ini adalah ekspresi yang nilainya ingin dimaksimalkan atau diminimalkan oleh insinyur. Fungsi tujuan memungkinkan Anda untuk membandingkan dua solusi alternatif secara kuantitatif. Dari sudut pandang matematika, fungsi tujuan menggambarkan beberapa (n + 1) - permukaan dimensi. Nilainya ditentukan oleh parameter desain

M=M(x 1 , x 2 ,...,x n).

Contoh fungsi tujuan, yang sering dijumpai dalam praktik rekayasa, adalah biaya, berat, kekuatan, dimensi, efisiensi. Jika hanya ada satu parameter desain, maka fungsi tujuan dapat direpresentasikan dengan kurva pada bidang (Gbr. 6.1). Jika ada dua parameter desain, maka fungsi target akan diwakili oleh permukaan dalam ruang tiga dimensi (Gbr. 6.2). Dengan tiga atau lebih parameter desain, permukaan yang ditentukan oleh fungsi tujuan disebut hypersurfaces dan tidak dapat digambarkan.

zheniya berarti konvensional. Sifat topologi permukaan fungsi tujuan memainkan peran penting dalam proses optimasi, karena pilihan algoritma yang paling efisien tergantung pada mereka.

Fungsi tujuan dalam beberapa kasus dapat mengambil bentuk yang paling tidak terduga. Misalnya, tidak selalu mungkin untuk mengungkapkannya dalam

Gambar 1. Fungsi tujuan satu dimensi.

Gbr.6.2.Fungsi tujuan dua dimensi.

bentuk matematika tertutup, dalam kasus lain dapat

menjadi fungsi halus sepotong-sepotong. Fungsi objektif terkadang memerlukan tabel data teknis (misalnya, tabel keadaan uap) atau mungkin diperlukan untuk melakukan eksperimen. Dalam beberapa kasus, parameter desain hanya mengambil nilai integer. Contohnya adalah jumlah gigi pada roda gigi atau jumlah baut pada flensa. Terkadang parameter desain hanya memiliki dua nilai - ya atau tidak. Parameter kualitatif, seperti kepuasan pelanggan, keandalan, estetika, sulit untuk diperhitungkan dalam proses pengoptimalan, karena hampir tidak mungkin untuk diukur. Namun, dalam bentuk apa pun fungsi tujuan disajikan, itu harus menjadi fungsi bernilai tunggal dari parameter desain.

Dalam sejumlah masalah optimasi, pengenalan lebih dari satu fungsi tujuan diperlukan. Terkadang salah satu dari mereka mungkin tidak cocok dengan yang lain. Contohnya adalah desain pesawat, ketika diperlukan untuk memberikan kekuatan maksimum, berat minimum dan biaya minimum pada saat yang bersamaan. Dalam kasus seperti itu, perancang harus memperkenalkan sistem prioritas dan menetapkan beberapa pengali tak berdimensi untuk setiap fungsi tujuan. Akibatnya, "fungsi kompromi" muncul, yang memungkinkan satu fungsi tujuan gabungan untuk digunakan dalam proses optimasi.

Mencari minimum dan maksimum

Beberapa algoritma optimasi diadaptasi untuk menemukan maksimum, yang lain untuk menemukan minimum. Namun, terlepas dari jenis masalah ekstrem yang diselesaikan, seseorang dapat menggunakan algoritma yang sama, karena masalah minimasi dapat dengan mudah diubah menjadi masalah maksimum dengan mengubah tanda fungsi tujuan menjadi kebalikannya. Teknik ini diilustrasikan pada Gambar 6.3.

Ruang desain

Ini adalah nama area yang ditentukan oleh semua n parameter desain. Ruang desain tidak sebesar yang terlihat, karena biasanya terbatas pada beberapa ruangan

kondisi yang terkait dengan esensi fisik masalah. Kendala bisa begitu kuat sehingga tugas tidak akan ada

Gbr.6.3 Mengubah tanda fungsi tujuan menjadi kebalikannya

Tugas maksimum menjadi tugas minimum.

solusi yang memuaskan. Kendala dibagi menjadi dua kelompok: kendala - persamaan dan kendala - ketidaksetaraan.

Kendala - kesetaraan

Kendala - persamaan - adalah ketergantungan antara parameter desain yang harus diperhitungkan ketika menemukan solusi. Mereka mencerminkan hukum alam, ekonomi, hak, selera yang berlaku dan ketersediaan bahan yang diperlukan. Jumlah batasan - persamaan bisa berapa saja. Mereka terlihat seperti

C 1 (x 1 , x 2 ,...,x n)=0,

C 2 (x 1 , x 2 ,...,x n)=0,

..................

C j (x 1 , x 2 ,...,x n)=0.

Jika salah satu dari hubungan ini dapat diselesaikan sehubungan dengan salah satu parameter desain, maka ini memungkinkan Anda untuk mengecualikan parameter ini dari proses pengoptimalan. Ini mengurangi jumlah dimensi ruang desain dan menyederhanakan solusi masalah.

Kendala - ketidaksetaraan

Ini adalah jenis kendala khusus yang diekspresikan oleh ketidaksetaraan. Dalam kasus umum, jumlahnya bisa berapa saja, dan semuanya memiliki bentuk

z 1 r 1 (x 1 , x 2 ,...,x n) Z 1

z 2 r 2 (x 1 , x 2 ,...,x n) Z 2

.......................

z k r k (x 1 , x 2 ,...,x n) Z k

Perlu dicatat bahwa sangat sering, karena keterbatasan, nilai optimal dari fungsi tujuan tidak tercapai di mana permukaannya memiliki gradien nol. Seringkali solusi terbaik ada di salah satu batas domain desain.

Optimal lokal

Ini adalah nama titik dalam ruang desain di mana fungsi tujuan memiliki nilai terbesar dibandingkan dengan nilainya di semua titik lain di lingkungan terdekatnya.

Gbr.6.4 Sebuah fungsi tujuan arbitrer dapat memiliki beberapa

optimal lokal.

pada gambar. Gambar 6.4 menunjukkan fungsi tujuan satu dimensi yang memiliki dua local optima. Seringkali ruang desain mengandung banyak local optima dan harus berhati-hati agar tidak salah memilih solusi optimal untuk masalah tersebut.

Optimal Global

Optimal global adalah solusi optimal untuk seluruh ruang desain. Ini lebih baik daripada semua solusi lain yang terkait dengan local optima, dan inilah yang dicari oleh perancang. Kasus beberapa optima global yang sama yang terletak di berbagai bagian ruang desain dimungkinkan. Bagaimana masalah optimasi diajukan paling baik diilustrasikan dengan sebuah contoh.

Contoh 6.1

Biarkan diperlukan untuk merancang wadah persegi panjang dengan volume 1 m , yang dirancang untuk mengangkut serat yang tidak dikemas. Diinginkan bahwa bahan sesedikit mungkin dihabiskan untuk pembuatan wadah tersebut (dengan asumsi ketebalan dinding konstan, ini berarti bahwa luas permukaan harus minimal), karena akan lebih murah. Agar nyaman membawa wadah dengan forklift, lebarnya harus minimal 1,5 m.

Mari kita merumuskan masalah ini dalam bentuk yang nyaman untuk menerapkan algoritma optimasi.

Parameter desain: x 1 , x 2 , x 3 .

Fungsi objektif (yang perlu diminimalkan) adalah luas permukaan samping wadah:

A=2(x 1 x 2 +x 2 x 3 +x 1 x 3), m2.

Batasan - kesetaraan:

Volume \u003d x 1 x 2 x 3 \u003d 1m3.

Batasan - ketidaksetaraan:

Masalah pemrograman linier

Pemrograman Linier (LP) adalah salah satu bagian dari pemrograman matematika - disiplin yang mempelajari masalah ekstrem (optimasi) dan mengembangkan metode untuk menyelesaikannya.

Masalah pengoptimalan adalah masalah matematika yang terdiri dalam menemukan nilai optimal (yaitu, maksimum atau minimum) dari fungsi tujuan, dan nilai-nilai variabel harus termasuk dalam area nilai yang dapat diterima (ODV) tertentu.

Secara umum, rumusan masalah ekstrem pemrograman matematika terdiri dari penentuan nilai terbesar atau terkecil dari fungsi , yang disebut fungsi objektif, di bawah kondisi (pembatasan) , di mana dan diberikan fungsi, dan diberikan konstanta. Pada saat yang sama, pembatasan berupa persamaan dan pertidaksamaan menentukan himpunan (wilayah) solusi layak (ODS), dan disebut parameter desain.

Tergantung pada jenis fungsi dan masalah pemrograman matematika dibagi menjadi beberapa kelas (linear, non-linear, cembung, integer, stokastik, pemrograman dinamis, dll).

PADA pandangan umum Masalah LP memiliki bentuk berikut:

, (5.1)

, , (5.2)

, , (5.3)

dimana , , diberikan konstanta.

Fungsi (5.1) disebut fungsi tujuan; sistem (5.2), (5.3) - oleh sistem kendala; kondisi (5.4) adalah kondisi non-negatif dari parameter desain.

Himpunan parameter desain yang memenuhi batasan (5.2), (5.3) dan (5.4) disebut solusi yang dapat diterima atau rencana.

Solusi optimal atau rencana optimal Masalah LP disebut solusi layak, di mana fungsi tujuan (5.1) mengambil nilai optimal (maksimum atau minimum).

tugas standar LP disebut masalah menemukan nilai maksimum (minimum) dari fungsi tujuan (5.1) pada kondisi (5.2) dan (5.4), dimana , , yaitu. itu. pembatasan hanya berupa pertidaksamaan (5.2) dan semua parameter desain memenuhi syarat non-negatif, dan tidak ada syarat berupa persamaan:

,

, , (5.5)

.

Tugas kanonik (utama) LP disebut masalah menemukan nilai maksimum (minimum) dari fungsi tujuan (5.1) pada kondisi (5.3) dan (5.4), dimana , , yaitu. itu. pembatasan hanya dalam bentuk persamaan (5.3) dan semua parameter desain memenuhi kondisi non-negatif, dan tidak ada kondisi dalam bentuk ketidaksetaraan:

,

.

Masalah LP kanonik juga dapat ditulis dalam bentuk matriks dan vektor.

Bentuk matriks dari masalah LP kanonik memiliki bentuk sebagai berikut:

Bentuk vektor dari masalah LP kanonik.