Hangi çözüme optimal denir? Optimum çözümü arayın

Sorunun anlaşılmasını sağlayın

Sorun, doğrulanması gereken daha teorik ve pratik yiyecekler, virishennya; Bilimde, şeylerin, nesnelerin, süreçlerin ve yeterli bir teori ve çözüm gerektirip gerektirmediğini açıklamada karşıt konumlar göz önüne alındığında, süper basit bir durum vardır. Önemli bir yeniden düşünmek başarılı kiraz ayrılık. sorunları ve її doğru ayarı hizmet.

Seçim zihinleri altında ne düşünüyorsunuz?

Aşağıdaki ilk bakış olası seçenekler Sorunun çözümü, katip için alternatifleri karşılaştırmak ve en iyisini seçmek için kullanılacak endikasyonları tanımlaması gerekir. Qi göstergelerine genellikle seçim kriterleri denir.

Optimal çözüm nedir?

İdeal olarak, sorunu çözmenin tüm olası alternatif yollarını belirlemek mümkündür, ancak bu şekilde çözüm optimal olabilir. Bununla birlikte, pratikte, bir kerivnik, cilt dostu bir alternatifi formüle etmek ve değerlendirmek için bu tür bilgi birikimine ve zamana sahip değildir. Bunun için, koku optimal değildir, ancak sorunu çözmenize ve önceki aşamada atanan seçim kriterine kabul edilemez bir alternatifin ardından size yardımcı olmanıza izin veren nazik, hoş bir seçenek elde etmek için.

En yüksek (veya en düşük) değer için hat programlama yöneticisi (LLP) doğrusal fonksiyonlar zengin, zengin yönlü çokluk üzerine.

Simpleks yöntemi, doğrusal programlama problemlerini çözme yöntemiyle aynıdır. Yöntemin özü, koçan izin verilen planın önemine ve bu çok yönlü zengin çarpanda hedef fonksiyonun maksimum (veya minimum) değerine ulaşmak için daha uzak yarı yol planında veya tutarsızlığı açıklamaya dayanmaktadır. görev.

Yaklaşan satır programlamaya kurallı biçimde bir göz atalım:

(1)
(2)
(3)

Parça bazında yöntem

Daha fazla atandığı için, kanonik formda yazılan görev için, matrisin sütunlarındaki vektörlerin ortası olarak Aє m tek ve lineer bağımsız, herhangi bir orta olmadan referans planı belirtebilirsiniz. Bununla birlikte, doğrusal programlamanın zengin görevleri için, kanonik biçimde yazılmış ve planları destekleyebilir, matristeki orta vektörler A başlama m yalnız ve lineer bağımsız. Aşağıdaki göreve bir göz atalım:

Fonksiyonun maksimumunu bilmek gerekli olsun

zihinler için

de perche n elemanlar sıfırdır. Değişiklikler yapay denir. vektörler

(28)

bu tür unvanları parça bazında oluşturmak m-dünya çapında vektör uzayı.

Oskіlki, görev temel bir plana genişletildi, її çözüm, simpleks yöntemini bilmek mümkündür.

Teorem 4. Optimal plan gibi genişletilmiş ayar (24)-(26) parça değişim değerleri , sonra є optimal görev planı (21)-(23).

Bu şekilde genişletilmiş görev için bulunan optimal planda olduğu gibi, parça değişimlerinin değerleri sıfıra eşit olur, daha sonra genişletilmiş görev için optimal plan alınır. Genişletilmiş görevin önemli çözümü hakkında bir rapor yapalım.

Referans planı (27) için hedef fonksiyonun değeri:

not ediyoruz F(X) biri depoda olmak üzere iki bağımsız bölümden oluşmaktadır. m ve insha - nі.

hesaplamadan sonra F(X) bu їх değerlerinin yanı sıra genişletilmiş görevin çıktı verileri, yukarıda gösterildiği gibi tek yönlü tabloya girin. Tek fark, tablonun daha büyük, daha küçük bir simpleks tablonun bir satırını değiştirmek için verilmiş olmasıdır. Sen ne zaman ( m+1.sıra intikam almayan katsayılarla yerleştirilir m, ve ( m+2)-th satır − katsayılar m.

Bir referans plandan diğerine geçerken, esas alınan en uygun vektörü girmektir. mutlak değer negatif sayı ( m+2) satırlar. Bir parça vektörü, temeli temelden yeniden tanıtmanın bir anlamı yoktur. Farklı bir referans planına geçildiğinde, parça vektörlerinden tabandan herhangi bir dışlama olmayacağı ortaya çıkabilir. Bir referans plandan diğerine geçerken simpleks tablosu değişir, simpleks yönteminin güçlü kurallarına göre değiştirilir (böl. daha yüksek).

Yinelemeli süreç aşağıdakilere göre gerçekleştirilir: m+2 sessiz köknar, pokie elementi için arka arkaya m+2 satır değiştirilecek görünmez olmaz. Her bir değişiklik temelden kapatıldığında, genişletilmiş görevin bilgi planı, çıktı görevinin mevcut temel planıyla tutarlıdır.

m+2 satır x 0 negatif, o zaman çözüm yok.

Eh, tüm parça değişiklikleri o öğenin temelinde kapatılmaz. m+2 satır x 0'dan sıfıra, daha sonra çıktı görevinin referans planı virogenimdir ve taban, parça bazının vektörlerinden en az biridir.

Kural olarak, tek bir vektörün bir parçasını çıkarmak ve bunları parça bazına dahil etmek gerekir.

Kaç saat yineleme m+2 satır artık olumsuz öğeler için intikam yok, ardından yinelemeli süreç devam edecek m+1 Üst üste, rıhtımlar görevi genişletmek için en uygun planı buldu ve sorunun tutarsızlığını ortaya çıkardı.

Böylece lineer programlama (21)-(23) problemini parça bazında çözme süreci aşağıdaki ana aşamaları içerir:

  • Görevin (24) - (26) genişlemesini katlayın.
  • Genişletilmiş görevin temel planını bilin.
  • Vikoristovuyuchi simpleks yöntemi, temelden parça vektörleri içerir. Sonuç olarak, çıkış görevinin temel planını bilmek veya tutarsızlığı gidermek.
  • Vykoristovuyuchi, ZLP (21) - (23) temel planı hakkında bilgi sahibidir veya görevlerin yerine getirilmesi için en uygun planı bilir veya nerazvjaznіst kurun.

Çevrimiçi doğrusal programlama problemlerini çözmek için hesap makinesini kullanın.

Doğrusal programlamanın (ÖZLP) ana görevi aşağıdaki gibi formüle edilmiştir - görev değişikliğini bilin x 1 , x 2 , ..., x n, hedef fonksiyonunun ekstremumunu sağlamak için

Doğrusal programlama (ZLP) probleminin kabul edilebilir çözümleri (planı) ne olursa olsun denir. n- barışçıl vektör x=(x 1 , x 2 , ..., x n) sistemi bir eşitlikler ve düzensizlikler sınırıyla karşılayan. Anonim kabul edilebilir diller D.

Doğrusal programlama probleminin optimal çözümüne (planına) böyle bir kabul edilebilir çözüm denir, bu amaçla fonksiyon Z(x) ekstremuma ulaşır.

Doğrusal programlamanın (KZLP) kanonik problemi görülebilir

(1.2)

Vaughn v_drіznyaєtsya ve OZLP tim, sistem obmezhen є sadece sistem eşittir ve tüm değişiklikler negatif değildir.

OZLP'yi, ZLP'nin kanonik biçimine getirmek:

Minimizasyon görevini maksimizasyon görevi ile değiştirmek için (aksi takdirde maksimizasyon görevi minimizasyon görevidir), hedef fonksiyonunu “-1” ile çarpın ve maksimizasyon fonksiyonunun maksimumunu (minimum) hesaplayın;

Sınırın ortası düzensiz ise, o zaman ek görünmez değişikliklerin sevkıyatı yoluyla x n +1 ≥ 0

eşitsizlik a ben 1 x 1 +…+a içinde x n≥ B kıskançlıkla yer değiştirdim a ben 1 x 1 +…+a içinde x n+ x n+1 = B ben ,

eşitsizlik a ben 1 x 1 +…+a içinde x n≤ B kıskançlıkla yer değiştirdim a ben 1 x 1 +…+a içinde x n+ x n+1 = B Bence;

Yakshcho deyaka değişikliği x k İşarete göre bir sınırınız yoksa, (tüm işlev için ve mevcut tesislerde) ikisi arasındaki farkla yeni görünmez değişikliklerle değiştirilecektir: x k = x" k x k , de x" k ≥ 0. x k ≥ 0.

İki nevidomimiden ZLP'yi çözmenin grafik yöntemi

ZLP, dva nevіdomimi maє vyglyad'dır:

Yöntem, kabul edilebilir çözümlerin alanının grafiksel bir temsilinin fizibilitesine ve optimal çözümün ortalamasının önemine dayanmaktadır.

Görevin izin verilen rozv'yazkіv (ODR) alanı bir böcek ile şişer ve sorunun sınırının rozv'yazkіv dermal sinirlilik alanlarının peretina (tuzlu kısım) gibi olacaktır.

Rozvyazannya sinirlilik alanı a ben 1 x 1 +a ben 2 x 2 ≤ B ben yaki düzlüğünde iki napіvploschin'den biri a ben 1 x 1 +a ben 2 x 2 = B Bence koordinat uçağı. İki düz düzlemden olduğu gibi, çözümün alanını belirlemek için, düz bir çizgi üzerinde yer almayan ve eşitsizliğe bölünen herhangi bir noktayı koordine etmek yeterlidir:

Eşitsizlik adil ise, çözüm alanı o noktanın intikamını almak için düz bir alandır;

Pürüzlülük adil değilse, o zaman çözüm alanı, noktanın intikamını almamak için düz bir alandır.

Optimal çözümün kabul edilebilir aralığının znahodzhennya'sı için çizgiler vurgulanır.

Eşit çizgiye düz çizgi denir H 1 x 1 +H 2 x 2 = ben, de ben= const Bıyık çizgileri birbirine paraleldir.

Hedef fonksiyonunun gradyanı mezun Z(x) normal vektörü ayarlar C = (C 1 , C 2) çizgi rivnya. Çizginin çizgileri üzerindeki ana işlev, çizginin çizgileri normalin düz çizgisinde ve daha az - düz çizgide hareket ettikçe büyüyor.

Referans çizgisine nehir çizgisi denir, sanki ODR'den bir merkezi nokta kullanmak ve bu ODR'ye olan mesafeye göre dairelerden birinde olmak istiyormuşum gibi. ODR görevi ikiden fazla referans satırı olamaz.

ZLP'nin optimal çözümü, ODR bagatokutnik'in tepesindeki destekleyici düz çizgi üzerinde uzanmaktır. ZLP'nin yalnızca bir çözümü olabilir, böylece referans çizgisi ODR'nin bir tepe noktasından geçer, bu kişisel olmayan bir çözümdür, sanki referans çizgisi ODR bagatokutnik'in kenarından geçiyormuş gibi. ZLP bir çözüm değildir, ODR gibi boş bir kişiliksizliktir (sistem uyumlu değilse) ve ODR gibi ekstremuma bağlı değildir (hedef fonksiyon bağlı değildir).

İki bilinmeyenden ZLP çizmenin grafik yöntemi için algoritma:

    ODR'yi isteyin.

    Normal vektörü indükleyin C = (C 1 , C 2) bu çizgi H 1 x 1 +H 2 x 2 = 0, vektöre dik ve koordinatların koçanı içinden geçmek için W.

    Hizalama çizgisini vektörün düz çizgisindeki referans çizgisine taşıyın W tesiste maksimumda ve düz çizgide - tesiste min.

    Hat doğrudan ODR'nin uç noktasına taşınsa bile, tutarsızlığa girer, bu durumda ZLP, hedef fonksiyonun zorunlu olmaması yoluyla çözülemez.

    ZLP en uygun çözüm olabilirse, bu amaç için mükemmel bir çözümdür düz çizgilerin hizalanması ODR'yi sınırlayan ve referans çizgisinde noktalar oluşturan . Ekstremuma iki apeks noktasında ulaşılırsa, LLP, tsimi apeks noktalarıyla çevrili ODR'nin kenarında yatmak için kişisel olmayan bir karar olabilir. Bazen, her iki tepe noktasının koordinatları hesaplanır.

    Uç noktadaki hedef fonksiyonunun değerini hesaplayın.

LLP'yi çözmek için tek yönlü yöntem

Simpleks yöntemi aşağıdaki hükümlere dayanmaktadır:

Doğrusal programlama probleminin ODR'si є sonlu sayıda tepe noktası olan bir çarpanla saçılacağız;

LLP'nin optimal çözümleri, ODR'nin tepe noktalarıdır. Kutovі noktası ODR cebirsel olarak ZLP sınır sisteminin deyakі temel (referans) çözümünü temsil eder.

PLP'nin temel (destekleyici) çözümlerine bu tür kabul edilebilir çözümler denir. x 0 =(x 10 , x 20 , ..., x m 0 , 0, ... 0)

sıfır olmayan koordinatlar x 10 , x 20 , ..., x m 0 çözümü x 0, kaybolan çözümün koordinatları olan temel değişiklikler olarak adlandırılır. x 0 - ücretsiz değişiklikler. Referans çözümünün belirtilen sıfır koordinatlarının sayısı, sıralamadan büyük olamaz. r sınırlayıcı PLP sistemi (sınırlı PLP sistemindeki doğrusal olarak bağımsız eşitliklerin sayısı). p align="justify"> LLP'yi sınırlayan sistemin lineer olarak bağımsız seviyelerden oluştuğunu belirtmek önemlidir, yani. r = m.

Simpleks yönteminin anlamı, doğrudan ZLP'nin bir referans çözümünden diğerine (yani, ODR'nin tepe noktalarından birine) hedefe yönelik geçişe doğrudan gider ve doğrudan ekstremuma gider. aşamaların sırası:

Çözümün temelini bilin;

bir referans çözümünden diğerine geçişi değiştirmek;

Çözümün geçerliliği hakkında visnovi'nin geliştirilmesi için optimal çözüme ulaşma kriterine karar verin.

Wicoon algoritmasıSimpleks yöntemi ZLP

Simpleks yönteminin algoritması zdіysnyuє bir referans çözümü ZLP'den diğerine doğrudan hedef fonksiyonunun ekstremumuna geçiş yapar.

ZLP'nin kanonik formda (1.2) ve vikonano'da verilmesine izin verin

B ben ≥ 0, Bence=1,2,…,m, (1.3)

spіvvіdnennia (1.3), farklı olumsuzluklarda vіdpovіdne vіnnіannya'yı "-1" ile çarparak vikonati olabilir B Bence. (1.2) probleminin alt bölümlerindeki eşitlikler sisteminin bu ranktan lineer olarak bağımsız olması da önemlidir. r = m. Referans çözüm vektörünün kimler için olabileceği m sıfır olmayan koordinatlar.

Ofisten çıkalım (1.2), (1.3) denilince akla, de temel değişim x 1 , x 2 , ..., x m x m + 1 , x m + 2 , ..., x n

(1.4)

Tsikh spіvvіdnoshen zbuduєmo tablo 1 temelinde

tablo 1

Tablo 1, tek yönlü tablo olarak adlandırılır. Bıyık pov'yazani'nin daha fazla dönüşümü tabloları zminami zmіstu zmіstu.

algoritma himplex yöntemi:

1. Kalan satırda Z simpleks tabloları, minimumdaki görev için en küçük pozitif öğeye (maksimumdaki problem için en küçük negatif öğe), serbest üyenin suçuna sahiptir. Bu elemanı destekleyen stovpetlere ayrı bina denir.

2. Bölünmüş yapının (simpleks-uzantı) pozitif elemanlarına ana elemanların uzantılarının sayısını hesaplayın. Bu simplekslerin en azını bilmek - vіdnosin, vono vіdpovіdaє razdіlnіy zdatnostі.

3. Ayrı bir bina ve ayrı bir binanın çevresinde ayrı bir bina bulunmaktadır.

4. Simplex - vіdnosin boyutu için aynı bir çaça varsa, onlardan olup olmadığını seçin. Bunlar, simlex - tablolarının kalan satırının pozitif öğeleri için aynıdır.

5. Ayrı elemanın öneminden sonra bir sonraki tabloya geçin. Binanın ve konstrüksiyonun büyüklüğünü değiştiren görünmeyen değişiklikler, mekanları değiştirir. Aynı zamanda temel değişim bedava değişim ve navpaki olur. Simplex - tablo şu şekilde dönüştürülür (Tablo 2):

Tablo 2

6. Tablo 1'deki dağıtım elemanına benzeyen tablo 2'deki eleman, elemanın dağılımında önemli bir faktördür.

7. Tablo 1'deki binanın dağıtım elemanlarına karşılık gelen Tablo 2 satırının elemanları, Tablo 1'deki ilgili elemanların çizgisi boyunca dağıtım elemanına gider.

8. Tablo 1'deki bina kapasitesi dağılımının elemanlarına karşılık gelen tablo 2'deki elemanlar, tablo 1'deki ilgili elemanların altındaki çizgi boyunca ayrı elemana gider ve zıt işaret ile alınır.

9. Diğer unsurlar için hesaplanır dikdörtgen kuralı: Tablo 1'de, bir zirvesi ayrı bir yapı elemanı (Re) ve insha - hakkında şaka yaptığımız bir eleman ile çalışan bir dikdörtgen şeklinde düşünceler; Önemli ölçüde, yeni tablo 2'den (He)'ye kadar olan eleman ve eski tablo 1'den (Ce)'ye kadar aynı alana mal olan eleman. Diğer iki A ve B köşesi, şekli bir dikdörtgene ekler. Aynı sondaj elemanı Tablolardan değil 2 dovnyu Not \u003d Ce - A * B / Re.

10. Optimallik kriterleri. Tabloyu görür görmez, görevdeki min. satırın geri kalanında tüm öğeler negatiftir (görevde max tüm pozitif öğeler için), bilginin uç noktası olması önemlidir. Hedef fonksiyonun optimal değeri, Z serisinin değişken üyesine eşittir ve optimal çözüm, temel değişkenlerle değişken üyeler tarafından belirlenir. Hardal değerleri sıfıra eşittir.

11. Üstün ortak için tüm unsurlar olumsuzsa, o zaman çözüm yoktur (minimum mevcut değildir).

LLP'nin parça bazında çözümü

LLP'nin ana çözümü olarak görüldüğü için simpleks yönteminin algoritması sabitlendi, yani LLP'nin (1.2) sonucu (1.4) formuna getirildi. Parça parça esaslı yöntem, bu tür bir referans çözümünü başlatma prosedürünü destekler.

Parça parça temel değişikliklerin getirilmesine ilişkin temellerin parça bazında yöntemi y 1 , y 2 ,…, y m

(1.5)

belki buti bir bakışa dönüştü

(1.6)

Sistemler (1.5) ve (1.6), hepsinin aynı şekilde eşdeğer olacaktır. y Bence sıfıra ayarlayın. Daha önce olduğu gibi, her şeyi önemsiyoruz B Bence ≥ 0. İçin de Bence 0 eklendi, görevi temel değişikliğe sahip olacak şekilde yeniden yapmak bizim hatamız y Bence vіlnі zminnі'ya gitti. Böyle bir geçiş, ek bir hedef fonksiyon yöntemi kullanılarak simpleks algoritması tarafından oluşturulabilir.

F(y) = y 1 + y 2 + ... + y m = D 0 – (D 1 x 1 +D 2 x 2 +…+D n x n). (2.7)

Bu yöntem için simpleks tablosunu görüntüle görülebilir

Arka arkaya tek yönlü tablo, işlevin amacına göre dönüşür F(y) Referans çözümün geri çekilmesine kadar. İlerleyen kriter bulunursa, çözümün temeli bulunur: F(y) = 0 ve tüm parçalar değiştirilir de Bence vіlnі zminnі'dan tercüme edilmiştir. için bir satır oluşturmak için tek yönlü tabloları kullanalım. F(y) ve sütunlar için de Bence ve harici hedef işlevi için görevi değiştirin Z(x) Optimum çözüme ulaşılana kadar.

Teorem 4.1. Doğrusal programlamanın görevleri maksimum (minimum) olsa bile, sadece bir zihin vektörü ise, dağılımın dejenere olmayan referans çözüm bazına göre değerlendirilmesi negatif (pozitif) ise, o zaman referans çözüm genişletilebilir, yani, daha büyük (daha az) bir işleve sahip olacak yeni bir referans çözümü öğrenebilirsiniz.

getirmek. Temel bir çözüm geliştiremeyecekmişiz gibi fikre maksimum düzeyde karşı çıkalım, , mevcut zihin vektörünün dağılımının değerlendirmesi olumsuzdur ( ).

Yeni bir referans çözümüne geçelim, i vektörünü tabana tanıtıyoruz ve vektörü tabandan açıyoruz. Sağlıklı olanın işlevindeki artışın kimler için olduğunu düşünüyorsunuz?

Çözüm virojen olmadığı için formül (4.5)'den sonra hesaplanan parametre sıfır (> 0) olarak kabul edilir. Oskіlki > 0, , sonra

Ayrıca, yeni referans çözümündeki hedef fonksiyonun değeri ilkinde daha büyük, daha düşük olacaktır.

Yönetici için kanıt daha az benzerdir.

son 1(Umov'un optimal çözüme en yakın yaklaşımı). Referans çözüm genişletildiğinde hedef fonksiyonundaki en büyük değişiklik için, tabandan türetilen bir vektörün seçilmesi gerekir (sayı ile birlikte). ben) temele dahil edilen (sayı ile k), aklını salla:

- görevde maksimuma
; (4.10)

- en az yöneticide
. (4.11)

Temelde tanıtılan vektör seçiminin basitleştirilmiş versiyonunda, zihni yürütmek mümkündür:

- görevde maksimuma ; (4.12)

- en az yöneticide . (4.13)

Yeni destek çözümünün koçanı üzerindeki bu varyant, EOM'deki açıklıklarda muzaffer görünecek.

son 2(Referans çözümünün optimalliğinin işareti). Doğrusal programlama probleminin maksimuma (minimum) çözümünün temeli optimaldir, bu nedenle herhangi bir zihin vektörü için dağılımın referans çözüm bazında değerlendirilmesi mümkün değildir (pozitif olmayan), yani .

- görevde maksimuma ; (4.14)

- en az yöneticide . (4.15)

Doğru, bu doğru Z(x) , , , sonra

en uygun çözüm budur. Yönetici için minimum kanıt benzerdir.

son 3(Optimal çözümün birliğinin işareti). Doğrusal programlama sorununa en uygun çözüm tek çözümdür, bu nedenle herhangi bir zihin vektörü için, temele girmemek için girdinin değerlendirmesi sıfırdır, yani.

Burada optimal çözümün temelinin ilkini içerdiği aktarılır. m vektör_v.

4. kurşun(Optimal çözümlerin sonsuz çarpanının temelinin işareti). Doğrusal programlama yöneticisinin hiçbir optimal çözümü olamaz, ancak optimal çözümün temelinde yer almayan zihin vektörlerinden birini isterse, tahmin sıfıra eşittir, o zaman.

$ k Î { m+1,m+2, ..., n}: . (4.17)

son 5(Hedef fonksiyonunun belirsiz olmaması yoluyla optimal çözümün varlığının işareti). Hedef fonksiyonun müzakere edilmemesi yoluyla ve ayrıca bir değerlendirme ile zihin vektöründen, optimallik işaretlerini, düzenin orta katsayılarını temele göre üst üste bindirmek için doğrusal programlama sorunu için bir çözüm yoktur. referans çözüm pozitif değil, yani.

LP problemlerini çözmenin evrensel yöntemine simpleks yöntemi denir. Zastosuvannya tsgogo i yogo en sık kullanılan modifikasyondur - iki fazlı simpleks yöntemi.

Grafiksel bir yöntemle, LP'nin görevi ve pratik olarak, düzensizlik sisteminin kişisel olmayan çözümleri arasında bulunan kişisel olmayan köşelerden, hedef fonksiyonun değerinin maksimuma (minimum) ulaştığı böyle bir köşe seçti. Değişim zamanlarında, yöntem tamamen bilimseldir ve soruna hızlı bir şekilde çözüm bulmanızı sağlar.

Üç ve daha fazla önemli görev olduğundan, ancak gerçek ekonomik görevler aynı durumda olduğundan, obmezhen sisteminin çözüm alanını net bir şekilde belirlemek önemlidir. Yani zavdannya yardım için yemin ediyor simpleks yöntemi chi sonraki polipsen yöntemiyle. Yöntem fikri basit ve saldırgan olana benzer.

İlk kuralın arkasında birincil destek planı bulunur (deyak, sınırın en üst noktasıdır). Pereviryaetsya, chi є planı optimaldir. Eğer öyleyse, o zaman görev bitti. Değilse, başka bir kısaltılmış plana geçiyoruz - bir sonraki zirveye. Bu planda (tepe noktasında) hedef fonksiyonun değeri açıkça daha kısadır, ön kısımda daha düşüktür. Geçiş algoritması, arama tablosuna manuel olarak yazılabilen bir tür hesaplama yardımı için oluşturulur. tek yönlü tablolar . Köşelerin bitiş sayısından beri, o zaman kroki'nin bitiş sayısı için rasyonel bir çözüme geliyoruz.

Sipariş planının belirli bir uygulaması için simpleks yöntemine bir göz atalım.

Bir kez daha, simpleks yönteminin LP'nin kanonik görevlerini iyileştirmek için kullanılabileceğine, özel bir görünüme işaret ederek, temelin oluşturulabilmesine, pozitif doğru kısımlara ve temel olmayan ile ifade edilen tamsayı işlevine saygı duyulmaktadır. değişir. Görev özel bir görünüme getirilmezse, daha sonra konuşacağımız ek ayrıntılara ihtiyacınız olacak.

Modeli önceden uyararak ve özel bir görünüme aşılayarak, modifikasyonun planlama planına bir göz atalım.

Yönetici.

Bulaşıkların hazırlanması için Aі saat depo 80'den fazla sirovini trokuna izin verebilir. Neden viroba pişirin A lekeli iki single ve virobi saat- Tek bir syrovini. Geleceği öyle planlamak gerekir ki, en fazla kâr sağlanacaktır. A 50'den fazla parça hazırlamak gerekli değildir ve saat- 40 adetten fazla değil. Ayrıca, birinin satışından elde edilen gelir A- 5 ruble ve saat- 3 ovmak.

Haydi matematiksel model, için bilmek x Planda 1 adet virobiv A, x 2 - seçim sayısı saat. O zaman sistem şöyle görünecek:

x 1 ≤50
x2 ≤40
2x1 +x2 ≤80
x 1 ≥0, x 2 ≥0
5x1 +3x2→maks

Ek değişiklikler ekleyerek görevi kurallı görünüme getirelim:

x 1 + x 3 =50
x2 +x4 =40
2x1+x2+x5=80
x 1 ≥0, x 2 ≥0
5x1 +3x2→maks
-F = -5x1 - 3x2 → min.

Tse zavdannya özel bir görünüme sahip olabilir (temelden doğru parçalar görünmez). Ї, simpleks yöntemiyle yapılabilir.

Bencesahne. Simpleks tabloya bir görev yazın. Problemler sistemi (3.10) ile tek yönlü tablo arasında bire bir denklik vardır. Ryadkіv stіlki stіlki, sіlki іvnosti і sistemі obmezhen ve stovptsіv - stylki, sіlki vіlnyh zminnyh. Temel değişiklikler ilk satırı doldurur, vilni - tablonun en üst satırı. Alt satıra indeks adı verilir ve fonksiyondaki değişikliklerle yenisi için katsayılar kaydedilir. Sağ alt kokleada ise serbest üyenin herhangi bir fonksiyonu olmadığı için 0 yazılır; є ise, o zaman yogo іz'i zıt işaretle yazarız. Aynı yerde (sağ alt köşeye yakın), hedef fonksiyonun bir değeri olacak, bu yüzden bir tablodan diğerine gittiğinizde modulo tarafından artırılacaktır. Ayrıca sınır sistemimiz Tablo 3.4 ile onaylanmıştır ve çözümün ikinci aşamasına geçebilirsiniz.

Tablo 3.4

temel

Bedava

IIsahne. Temel plan optimalliğinin yeniden doğrulanması.

Tsya tablosu 3.4, hücum destek planını doğrulamaktadır:

(x 1 , x 2 , x 3 , x 4 , x 5) = (0, 0, 50, 40, 80).

Vіlnі zminnі x 1 , x 2 kontrol 0; x 1 = 0, x 2 = 0. Ve temel değişiklikler x 3 , x 4 , x 5 kabul değeri x 3 = 50, x 4 = 40, x 5 \u003d 80 - ücretsiz üye sayısı. Hedef fonksiyonun değeri:

-F = - 5x 1 - 3x 2 = -5 0 - 3 0 = 0.

Görevimiz, verilen temel planın optimal olup olmadığını yeniden gözden geçirmektir. dizin satırına bakmanın gerekli olduğu - hedef işlevin satırı F.

Olası farklı durumlar.

1. Dizin F- Bir takım olumsuz unsurlar var. Otzhe, plan optimal, görevleri yazabilirsin. Hedef fonksiyonu, ters işaretle alınan sağ alt kattaki sayıya eşit olan optimal değerine ulaşmıştır. IV. aşamaya geçelim.

2. İndeks satırında, bir negatif öğe istiyorsanız, sütunda pozitif öğe yoktur. Todi robimo visnovok, amaca yönelik bir işlevi olanlar için F→∞ sınırsız değişiklik.

3. İndeks satırında bir negatif eleman var, sütunda bir pozitif eleman var. Sonra bir sonraki aşama III'e geçiyoruz. referans planını boyayarak tabloyu gözden geçirin.

IIIsahne. Temel planın tamamlanması.

Endeksin 3 olumsuz unsuru F- Satırlar modülde en büyük olacak şekilde seçilir, onlara en çeşitli ve anlamlı "" diyoruz.

Farklı bir bina seçmek için bir grup ücretsiz üyenin eleman sayısını hesaplamak gerekir. bir tekönceki pozitif ayrı bir yapının unsurları. Minimal otrimanih vіdnosin arasından seçim yapın. Minimuma ulaşan Vidpovidny elemanına ayrı bina denir. Bunu bir kare ile görebiliriz.

Popoda, eleman 2 - virishal. Bu öğeyle eşleşen satıra ayrı satır da denir (Tablo 3.5).

Tablo 3.5

Farklı bir bina seçerek, tabloları kurallara göre değiştirmeye çalışıyoruz:

1. Bu tür genişlemelerin yeni tablosunda, daha önce olduğu gibi, binaların ve stovptsya'nın dağılımındaki değişiklikler, yeni bir temele geçişi onaylayan yerlere göre değiştirilir. Örneğimizde: x 1 temelde girin, vekil x 5, temelden nasıl çıkılır ve artık ücretsizdir (Tablo 3.6).

Tablo 3.6

2. 2. elemanın binasının dağıtım yerine ½ sayısı yazılır.

3. Ayrı bir binanın elemanları ayrı bir elemana bölünür.

4. Ayrı bir binanın elemanları ayrı bir elemana bölünebilir ve zıt bir işaretle yazılır.

5. Tablo 3.6'nın dışında bırakılan öğelerini doldurmak için bunları bir dikdörtgen kuralına göre değiştirmek gerekir. Elemanı 50 numaralı alana sabitlemek istiyorum.

Dolayısıyla düşüncenin bu unsuru yüzeyseldir, doğru olduğu bilinir, doğru olduğu görülebilir, dikdörtgenin ikinci köşegeninde yer alan, yani viishov olan unsurlardır. Perakende ayrı bir unsura bölünmüştür.

Baba, . Sisin üzerine 10 yazıyoruz, debulo 50. Benzer şekilde:
, , , .

Tablo 3.7

mayo yeni masa 3.7, temel değişiklikler şimdi değişikliklerdir (x 3 x 4 x 1). Hedef fonksiyonun değeri -200, o kadar. değişti. Optimallik için temel çözümü yeniden gözden geçirmek için tekrar II. aşamaya geçmek gerekir. Açıkça süreç sona erer, zupinka'nın kriteri II aşamasının 1. ve 2. noktalarıdır.

Rozvyazannya görevlerini sonuna kadar getirelim. Endeks satırı i'yi uzlaştırdığımız, -½ negatif öğesini yenisine çevirdikten sonra, ona farklı bir bina i, zgіdno z aşama III, pererahuєmo tablosu diyoruz. Maviyi birleştirip ortalama minimum = 40'ı seçerek ayrı bir yapı elemanı 1 atadılar. Şimdi 2-5 kurallarına göre değiştirmek daha iyi.

Tablo 3.8

Tabloları yeniden düzenledikten sonra, dizin satırında olumsuz öğe olmadığını ve daha sonra görevin ekarte edildiğini, temel planın optimal olduğunu tekrar düşünüyoruz.

IVsahne. Vipisuvannya rasyonel çözüm.

Simpleks yöntemi ikinci aşamanın 1. paragrafına dayandığından, görevin çözümü bir sonraki sırada yazılacaktır. Temel değişiklikler bağımsız üyelerin kolonlarının değerlerini artırmaktadır. bizim popo x 3 = 30, x 2 = 40, x 1 = 20. Maliyeti 0 değiştirecek, x 5 = 0, x 4 = 0. Değer işlevi, serbest üyeler sütununun kalan öğesinin değerini zıt işaretten ayarlar: - F = -220 → F= 220 F→ max, bu aslında dvіchі değişikliğinin işaretidir. otze, x* = (20, 40, 30, 0, 0), F* = 220

20 tür içerecek şekilde yayın planından önce gereklidir A, B tipi için fazlalığın maksimum olacağı ve 220 rubleye mal olacağı 40 seçenek.

Örneğin, bu paragrafta, adımları tam olarak tekrarlamamız için simpleks yönteminin algoritması için bir akış şeması çizeceğiz, ancak belki bazı okuyucular için metni okuyabileceksiniz, böylece oklar diy'in okunabilirliği.

Akış şemasındaki dikdörtgenler üzerindeki güç, aynı dönüşüm grubunda alt noktanın hangi aşamada olması gerektiğini gösterecektir. koçan taban planının önemine ilişkin kural madde 3.7'de formüle edilecektir.

popo Simpleks yöntemiyle kanonik biçimde LP'nin Virishiti başlangıcı.
f(x)=x 1 +9x 2 +5x 3 +3x 4 +4x 5 +14x 6 → min
x1 +x4 =20
x2 +x5 =50
x 3 + x 6 =30
x 4 + x 5 + x 6 = 60
x ben ≥ 0, ben = 1,…,6
LP liderinin kanonik bir forma sahip olabileceğini, tüm obmezhennya'nın (kaçınılmaz değişimin zihinlerinin suçu) eşitlikler gibi görünebileceğini ve tüm özgür üyelerin görünmez olduğunu söylemek. Baba, onu kurallı biçimde ayarlayabiliriz.
Simpleks yönteminin fikri, adım adım olana benzer. Arkada, kabul edilebilir çözeltilerin bagatohedronunun bir deak (pochatkov) tepe noktasını belirlemek gerekir (kafada kabul edilebilir temel çözüm). Optimallik için çözümü yeniden düşünelim. Eğer optimal ise, o zaman çözüm bilinir; değilse, bagatohedron'un diğer tepe noktasına gidin ve optimalliği tekrar tersine çevirin. Bagatohedron'un (LP fabrikasının sınırının son ucu) zirvelerinin sonunu çağırarak, son "dolandırıcı" sayısı için minimum veya maksimum noktasını biliyoruz. Sonraki adım, bir tepe noktasından diğerine geçerken hedef fonksiyonun değerinin nasıl değiştiğini (görev için minimum) ve arttığını (görev için maksimum) belirtmektir.
Bu şekilde, simpleks yöntemi fikri, LP probleminin üç gücüne dayanmaktadır.
Çözüm. Kabul edilebilir bir temel çözüm belirlemek için tobto. Temel değişiklikleri belirlemek için sistemin (5.6) "diyagonal" bir görünüme indirgenmesi gerekir. Zastosovuyuchi Gaus yöntemi (nevidomikh'in art arda dahil edilmesi yöntemi), (5.6):
x 2 + x 1 + x 3 \u003d 40
x4+x1=20
x5 -x1 -x3 = 10
x6+x3=30
Otzhe, temel değişiklik x 2 x 4 x 5 x 6Önde gelen sıraların bağımsız üyelerine eşit önem veriyoruz: x 2 = 40, x 4 = 20, x 5 = 10, x 6 = 30,. Değişiklikler x 1і x 3є temel olmayan: x 1 = 0, x 3 = 0.
Makul bir temel çözüme sahip olalım
x 0 = (0.40.0.20,10.30) (5.9)
Bulunan çözümün optimalliğini yeniden kontrol etmek için x0 Hedef fonksiyonunun temel değişiklikleri (ek sistem (5.8) için) açması ve özel bir simpleks tablosunu indüklemesi gereklidir.
Değiştirme işlevini kapattıktan sonra, aşağıdakileri manuel olarak yazın:
f(x) = -7x 1 - 14x 3 +880 (5.10)
Şimdi, yardım için (5.8) - (5.10) cob simpleks tablosunu ekliyoruz:

Sıfır satırında, katsayılar, tamsayı fonksiyonundaki geçerli değişikliklerin dönüş işaretiyle yazılır. Optimallik kriteri (bir minimum bulma görevi için): kabul edilebilir temel çözüm ( x0) sıfır satırında kesin olarak pozitif bir ana sayı olmamasına rağmen (hedef fonksiyonunun değerini (880) kırın) optimaldir. Neden genişletin ve yineleyin (tablolar). Sıfır satırının öğelerine sütun puanları denir.
Ayrıca, genel olarak kabul edilen temel çözüm (5.9) optimal değildir: 7>0, 14>0 .
Sıfır sütunu, temel değişikliklerin değerlerine sahiptir. Obov'yazkovo'nun kokusu görünmez olabilir (böl. eşittir (5.7)). Birinci satırdan dördüncü satıra kadar sistemden (5.8) değişim katsayıları yazılır.
çok yak x0 optimal olmayan, kabul edilebilir çözümlerin bagatohedronunun bir sonraki tepe noktasına gitmek gerekir (yeni bir dbr oluşturmak için). Kimler için temel unsuru bilmek ve basit bir dönüşüm (simpleks dönüşüm) gerçekleştirmek gereklidir.
Alt sıranın, iletken sütunun (en yüksek pozitif derecelendirmeye sahip sütun) ve iletken sıranın (sıfır sütununun öğelerinin minimum aralığını gösteren satırlar) çapraz çubuğunda duran tablonun iletken bir öğesi olduğu bilinmektedir. pozitif elemanın önde gelen elemanına).
Tablonun 1 önde gelen satırı vardır - üçüncü satır ve önde gelen satır - dördüncü satır (dk(40/1,30/1)=30/1) oklarla ve iletken eleman bir daire ile işaretlenmiştir. Tel eleman, taban değişikliğinin ne olduğunu gösterir. x6 temel olmayan bir tane ile değiştirmek gereklidir x 3. Aynı yeni temel değişiklikler x 2 x 3 x 4 x 5, ve temel olmayan - x 1 , x 6 ,. Tse, kabul edilebilir çözümlerin bagatohedronunun yeni bir zirvesine geçiş anlamına gelir. Yeni geçerli temel çözümün koordinatlarının değerini bilmek x00 yeni bir simpleks tablo oluşturmak ve üzerinde temel dönüşümler yapmak gerekli olacaktır:
a) tel sıranın tüm elemanlarını tel elemana bölerek tel elemanı 1'e dönüştürür (yuvalamanın basitliği için);
B) kablolu bir elemanın (eşit 1) yardımıyla, kablolu kolonun tüm elemanlarını sıfıra çevirin (bilinmeyenleri kapatma yöntemine benzer şekilde);
Sonuç olarak, sıfır sütununda yeni temel değişikliklerin değerleri x 2 x 3 x 4 x 5(Böl. Tablo 2) – yeni tepe noktasının temel bileşenleri x00(Temel olmayan bileşenler x 1 = 0, x 6 = 0,).

Tablo 2'de gösterildiği gibi, yeni bir temel çözüm x00 = (0,10,30,20,40,0) suboptimal (sıfır satırının bilinmeyen bir puanı 7'dir). Bu nedenle, eleman 1 (böl. tablo 2) yeni bir tek yönlü tablo olacaktır, yani. yeni kabul edilebilir temel çözüm

Tablo 3 kabul edilebilir temel çözümü göstermektedir x000 = (10.0.30.10.50.0) yoga idealdir, çünkü sıfır satırında olumlu derecelendirme yok. Tom f(x000)=390є hedef fonksiyonun minimum değeri.
Öneri: x000 = (10, 0, 30, 10, 50, 0)- minimum puan, f(x000)=390.

Akıllıca standart hat programlama

Böyle bir görev için sipariş sırasına göre vikont yapmak gerekir.
  1. Doğrudan görev için en uygun planı bulun:
    a) grafik yöntemi;
    b) simpleks yöntemi (geçerli bir referans planını teşvik etmek için parça bazında yöntemin kullanılması tavsiye edilir).
  2. Koruyucuya haber verin.
  3. Basitliğe katkıda bulunan grafiksel bir çözümden iki katlı bir problem için en uygun planı bilmek, doğrudan, dolaylı akıl.
  4. İlk iki problemli teoremden sonra iki problemli bir problem için en uygun planı bulun, artık simpleks tablosunu bulun, ilk problemin saatini çıkarın (böl. s. 1b). "İki katlı görevlerin bahislerinin hedef işlevlerinin değerleri, optimal çözümlerinde değişiyor" iddiasını yeniden gözden geçirin.
  5. Simpleks yöntemini çözme görevini gönderin, ardından, ilk dualite teoreminden sonra doğrudan problemin optimal planını bilmek için ikili görevin vikoristovuyuchi artık simpleks tablosu. Sonucu sonuçla eşitleyin, grafik yöntemle çıkarın (böl. s. 1a).
  6. Optimum çözüm hedefini öğrenin:
    a) grafik yöntemi;
    b) Gomory'nin yöntemi.
    Tamsayılı ve tamsayılı olmayan çözümlerin fonksiyonlarının değerinin olasılığı

Kendini kontrol etmek için yiyecek

  1. Simpleks tablo nasıl çalışacak?
  2. Tablonun temeli nasıl değiştirilir?
  3. Simpleks yönteminin zubik kriterini formüle edin.
  4. Masa değişikliği nasıl organize edilir?
  5. Tabloları manuel olarak kaç satır açmalısınız?