Giriş Giriş Giriş
Büyük ayrılıkçı tam tam tam programlama (IP) ve karma-integer programlama (MIP) sorunları, lojistik, üretim, enerji yönetimi, telekomünikasyon ve finans dahil olmak üzere birçok endüstride doğal olarak ortaya çıkar.Bu sorunlarda karar değişkenleri tam olarak tam olarak tam olarak sayısal değerler alır - örneğin, depoların yerlerine veya sabit olmayan bir şekilde sabitleme sağlar.
Benders Decomposition Nedir?
Benders decomposition, ilk aşama değişkenlerini sabit, sürekli bir lineer veya konvex altüstlüğü çözebilecek bir yapı ile çözmek için tasarlanmış bir sıra dışı yöntemdir: İlk aşama “kompresyon değişkenleri” içerir, lineer veya ikilisi değiştirir, ve ikinci bir aşama değişkenleri içerir - ilk aşama değişkenleri sabitlendiğinde [Döndergiler”).
Tarihsel olarak, Benders decomposition karma doğrusal programlama (MILP) için geliştirildi, o zaman araştırmalarda bir temel olarak genişletilmiş ve CPLEX ve Gurobi gibi ticari çözücüler tarafından da, ana sorun ilk aşama kararları yakalarken, her senaryoda subproblem'i kesintiye uğratmıştır.
Benders Decomposition'ın Temel Adımları
Benders decomposition to an tam bir programlama problemine başvurmak iyi tanımlanmış bir iteratif prosedürdür. Orijinal problemin yapısı olduğu varsayılır:
- [FONT=0)Master problem (MP): [Döneticileri = 1 ), başlangıçta, Z) veya sadece birkaç fizibilite kısıtlaması yoktur.
- [FONT=0)[FONT=0)[FONT=0)[0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|x|) [Cumartlı bir program) [Dönemli değişkenleri çözmüş durumda)[DÜye Olmayanlar için).[DÜye Olmayanlar İçin Tıklayınız.
Bueratif algoritma aşağıdaki gibi devam eder:
- [FONT:0)İnialize:[Dönetici:[Dönetici: 1 )[Dönetici: 1 )[Dönetici: 1 )[Dönemli))[Dönemli))[Dönemli: 1.)))[Dönersiz (sağlık))
- [FONT=0)[[değiştir | kaynağı değiştir] [[değiştir | kaynağı değiştir][değiştir | kaynağı değiştir][değiştir | kaynağı değiştir][değiştir | kaynağı değiştir]
- [FONT:0) Üst düzey probleme indirgenir: [Döntgen: 0,4] Yeni üretilen devreyi MP'ye doğru ilettir.
- [FONT:0) Yüksek lisans problemini ortadan kaldır:[Dönetici: [Dönetici:0] [Dönetici:0][Dönetici: · 8|Dönetici) ve daha düşük bir sınır (şimdi şimdi SP çözümü değerlerinden elde edilebilir.
- [FONT:0)Check yakınlık: [Dönetici: [Dönetici ve alt sınır yeterince yakınsa (bir toleransla), dur. Aksi takdirde, artacaktır.
Bu süreç, son derece kısa sürede MILP problemlerine yönelik en uygun bir çözüme yaklaşmak için garanti edilir, çünkü olası kesinti sayısı sonludur (muhtemelen büyük olsa da). Uygulamada, ileri teknikler gibi)Pareto-optimal kesintiler ve eksiltme:2)
Matematiksel Formulaasyon ve Basit Örnek
Tartışmayı korumak için klasik bir tesis konum problemini göz önünde bulundurun. İlk aşama kararları ikilidir: açık veya açık tesisler değil. ikinci aşama kararları, müşterilere ulaşım maliyetinin en aza indirgenmesi için tesisleri tahsis eder.The monolithic MILP can becom recommended into a master problem that allowss the optimal assignment for that set.The subproblem is a continuous the double of this subproblem provides the dual of Benderslar for Benders cut that mistake imation.For a detailed.For a detailed.For a detailed.
Daha genel olarak, orijinal problemin şu olduğunu varsayalım:
[Düzücü:0)[Dönem:2|Dönemli) [Düzücüler: 2 ), x + B y ≥ b
).
x'i düzeltdikten sonra, y üzerindeki subproblem lineer bir programdır (LP). Çifti aşırı puanların bir ışını üretir.En iyilik kesim, dual aşırı noktadan elde edilirken, aşırı ışınlar fizibilite kesintileri üretir.
[Düzücük:0)[Dönemli: ⁇ [Dönemli) ⁇ [Dönemli)[Dönemli)[Dönemli)[Düzerdekiler, ⁇ .
Bu ayrılık genellikle büyük hesaplama tasarruf sağlar, çünkü alt LP, sürekli değişkenlerin büyük sayıları için bile çok verimli bir şekilde çözülebilir.
Benders Decomposition Avantajları
Benders decomposition, uygulayıcılara birkaç somut fayda getiriyor:
- [FONT=0)Dedüklenmiş hesaplama karmaşıklığı:[Dönemli değişkenleri ihlal ederek, düktörlü patlama daha küçük bir usta problemle sınırlandırılmıştır. Sürekli alt değişkenleri içeren, on binlerce değişkeni hızla çözülür.
- [FONT:0]Scalability:[Dönetici:[Döneticileri ve sadece birkaç yüz tam değişkeni ile ilgili sorunlar trafiğe uygun hale gelir.
- [FONT:0)Flexability:[Dönetici:[Dönetici:2) Bu yöntem, kesme havuzları ve ön işlemeleri kullanarak stochastic uzantıları (Döneticileri) ile birleştirebilir.
- [FONT:0]Parallelizasyon fırsatları:[Dönetici:[Döneticiler arası) farklı iterasyonlar (veya senaryolarda) arasındaki alt sabitler, duvarı saatlerini azaltmaya paralel olarak çözülebilir.
- [FONT:0]Warm-starting:[Dönetici:[Dönetici: 1 ) İyi bir başlangıç tamsayı bilinse, usta problem küçük bir umut verici kesintiler, hız bir yakınlık ile tohumlanabilir.
Bu avantajlar, Benderslerin, çözümün zaman kritik olduğu birçok endüstriyel ortamda tercih edilen bir yönteme yerleştirir.
Meydanlar ve Mitigation Strategies
Onun gücüne rağmen, Benders decomposition bir panacea değildir. Practitioners birkaç ortak tuzaktan haberdar olmak ve onları azaltmak için stratejiler benimsemelidir:
Yavaş Convergence
Temel formunda, Benders decomposition genellikle birçok iterasyon gerektirir, çünkü her biri sadece yerel bir yaklaşım sağlar[Dönderlik). daha düşük sınır çok yavaş yavaş yavaş gelişebilir. Yakınlık için, araştırmacılar gelişmiştir.Dönetici-optimal kesintiler[Dönemli kesintiler)[Dönemli:2)[Dönemli/sağlık yöntemleri[Dönemli)
Zavallı Üst Problem İlki
Boş bir usta problemle başlayın (kesinme) bir başlangıç noktasına veya birkaç adayın çözümüyle ilk kesintiye yol açabilir.
Büyük Üst Problem IP
Eğer tamsayı değişkenleri çok fazlaysa, usta hala çözmeyi zorlaştırabilir.Bu tür durumlarda, [[D:0) Bendersler) doğrudan bir şubeye entegre eder (ayrıca arama düğümleri olarak adlandırılır)
Numerical Stability
Alt sayıdan gelen çift çözümler, sayısal sorunlara neden olan büyük katsayılarla kesintiye uğrayabilir ve sağlam bir LP çözümü kullanarak (örneğin, geçiş ile bariyer yöntemi) yardımcı olabilir.
Subproblem Infeaability
Subproblem, belirli bir LF'in dual aşırı ışınlarından elde edilebilir olduğunda:0))[Döntgenlik[Döneticileri)[değiştir | kaynağı değiştir], birçok bilazisyon kesintisi, mümkün olmayan bölgenin çift aşırı dereceden elde edilebilir.[T: 5)) Bazı formülasyonlarda (örneğin, bu cezayı ekleyen veya cezai değeri olan değişkenleri ekleyemez.
Endüstride Uygulamaları
Benders decomposition sayısız gerçek dünya bağlamlarında başarıyla uygulandı:
- [FONT:0)Supply Chain Network Design:[Dönetici: 1) Stratejik kararlar (facillik yeri, teknoloji seçimi) tam olarak değişkendir, operasyonel akış kararları sürekli olarak çalışır. Benders decomposition, yüzlerce potansiyel tesis ve milyonlarca müşteri atama ile ilgili sorunları ele alır.
- [FONT:0)Energy System Planlaması: [Dönetici: 0,3] Güç nesli genişlemesinde, usta hangi jeneratörlerin (teger) inşa edilmesine karar verir ve alt sürümler birçok zaman boyunca talep karşılamak için mevcut jeneratörler gönderir (kontsal sürümler) Stochastic sürümler belirsiz talep ve yenilenebilir çıktı.
- [FONT=0] Telekomünikasyon Ağı Tasarımı:[Dönetici: [Dönetici:0] Bağlantıları ve ekipmanlarını (teger) yönlendirme trafiği (kontinuous) Benders çerçevesine mükemmel bir şekilde uyum sağlar.
- [FONT:0)Logistics ve Ulaşım: [Dönetici: [Dönetici: 1) Filo büyüklüğü ve araç routing sorunları genellikle Bendersleri routing kararlarından ayrı filo kompozisyonunu kullanır.
- [FONT=0)Ürün Planlama ve Planlama: Lökme ve makine atama sorunları üretim miktarlarından (binary) yararlanmaktadır.
Her uygulama temel avantajından yararlanır: sürekli yapısını bir LP içinde gizleyerek, komiserlik zorluk usta tamsa programına yerelleştirilmiştir.
Diğer Decomposition Yöntemleri ile Karşılaştırma
Benders decomposition genellikle diğer dekompozisyon yaklaşımlarıyla karşılaştırılır:
- [FONT:0)Dantzig-Wolfe Decomposition: [Dönder 1] Bu yöntem sütun nesli tarafından çalışır, sorunu alt üst düzey çözümlerle birlikte koordine eden bir ustaya bölmek gerekir. Dantzig-Wolfe, blok-angular yapısı ile ilgili sorunlar için güçlü olsa da, genellikle doğrusal olmayan bir ustayı çözmeyi gerektirir (konuş kısıtlamaları ile birlikte).
- [FONT:0)Lagrangian Relaxation:[Dönetici:[Dönetici] Lagrangian rahatlamasında, hesaplama kısıtlamalarının ikileştirilmesi ve kesin olarak en uygun problemin çözülmesi daha kolay. Ancak, sadece minimizasyon problemleri için daha düşük bir sınır sağlar; tam olarak en iyi, heuristics veya bir şube-ve-ve-ve-ve-ve-ve------ve-ve-ve-bilite planı eklenmelidir.
- [FONT:0]Branch ve Cut:[Döneticileri) Modern MILP çözücüleri şubeye ve kesir, hangi dinamik olarak her ikisine de geçerli eşitsizlikler (kesinler) eklenerek, bu genellikle klasik iteratif Ben programlayıcılar tarafından oluşturulan arama ağacının düğümleri ile yapılır.
Her yöntem güçlü yönlerine sahiptir, ancak Benders decomposition, problemin ilk aşama değişkenleri ve büyük bir ikinci aşama ile doğal iki aşamalı bir yapı sergilediği zaman seçim yöntemi olarak kalır.
Uygulamayı Değerlendirme
Benders decomposition etkin bir şekilde birkaç pratik detaya dikkat gerektirir:
- [FONT=0)Solver seçeneği: [Dönetici:[Dönetici] Yüksek çözünürlükte bir LP çözümü ile çözülebilir.
- [FONT=0)Cut nesli stratejisi:[Dönetici] Sadece bir kesmeyi tercih etmek yerine, bu ayrıntıları ele alan birden fazla kesintiye yol açan (örneğin, her uç noktadan bir) aynı zamanda, [[Dönemli kesintiler[Dönemli)) için de geçerlidir.
- [FONT:0)Master problem formülasyonu:[Dönetici:0) Yardımcı değişkenleri:2) . ⁇ [DÜDÜ:3)) belirgin bir alt sınır (örneğin, LP sağlık değeri) sınırsız usta iterasyonlar eklemek için.
- [FONT:0) Durma kriterleri:[Dönlendirme kriterleri:[Dönerge: 1) Bir akraba veya mutlak boşluk kullanın (örneğin,% 0.1). Ancak bazı uygulamalarda, yakın optimize edilmiş bir çözüm kabul edilebilir, bu nedenle tolerans rahat olabilir.
- [FONT:0)Debugging:[Dönetici:[Döncülük veya yanlışlık nedeniyle ortak bir hatanın yanlış kesintiler üretmesi gerekir.Her zaman kesmenin orijinal problemde test yoluyla geçerli olduğunu doğrulayın.
Python'da kod örnekleri ile kapsamlı bir uygulama rehberi için, [FORDIE Benders Örnek) değerli bir kaynaktır. Ek olarak, [[ŞUFO ILOG CPLEX Belgeleri Benders algoritması) otomatik vs. el elemserme.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Benders decomposition, büyük ölçekli tam zamanlı programlama problemlerini çözmek için zaman test edilmiş bir tekniktir ve sürekli kararlar arasında bir ayrımcılığa yol açar. Sorunu bir usta tamsayı bir programa ve bir veya daha sürekli altproblemlere kırararak, ölçeklenebilirlik azaltır ve enerji planlamasına adapte edilebilirlik sağlarken, yöntem, Benintatörlük ve sabit bir şekilde çözümleyici yaklaşımları gerektirdiğinde etkili bir şekilde çözüm önerileri sunmaya devam eder.