SAMPL - SAMPL

SAMPL
Paradigmaçoklu paradigma: beyan edici, zorunlu
Tarafından tasarlandıGautam Mitra, Enza Messina, Valente Patrick
İlk ortaya çıktı2001; 19 yıl önce (2001)
Kararlı sürüm
20120523 / Mayıs 23, 2013; 7 yıl önce (2013-05-23)
işletim sistemiÇapraz platform (çoklu platform)
LisansTescilli
Dosya adı uzantıları.mod .dat .run .sampl
İnternet sitesiwww.optirisk-sistemleri.com
Tarafından etkilenmiş
AMPL

SAMPLanlamına gelen "Stokastik AMPL ", bir cebirsel modelleme dili iyi bilinen dili genişleterek sonuçlanan AMPL genişletilmiş sözdizimi ve anahtar kelimelerle. Temsil etmek için özel olarak tasarlanmıştır stokastik programlama sorunlar[1] ve son uzantılar aracılığıyla, şans kısıtlamaları, entegre şans kısıtlamaları ve sağlam optimizasyon sorunlar. AMPL'nin bağlandığı tüm çözücüleri kullanarak bulut sunucularının deterministik eşdeğer sürümünü oluşturabilir,[2] veya bir SMPS temsil ve kullanım gibi özel ayrıştırma tabanlı çözücüler FortSP.

Dil özellikleri

SAMPL, tüm dil özelliklerini AMPL ile paylaşır ve senaryo tabanlı olarak ifade etmek için özel olarak tasarlanmış bazı yapılar ekler. stokastik programlama ve sağlam optimizasyon.

Stokastik programlama özellikleri ve yapıları

Senaryo tabanlı SP problemlerini ifade etmek için, ek yapılar ağaç yapısını tanımlar ve karar değişkenini aşamalar halinde gruplandırır. Ayrıca, ağacın her bir dalı için olasılıkları hangi parametrenin sakladığını ve hangi setin senaryo setini temsil ettiğini belirlemek mümkündür. Bir SP probleminde şans kısıtlamalarını ve entegre şans kısıtlamalarını kolayca tanımlayan diğer yapılar da mevcuttur. Bu dil yapılarını kullanmak, problemin yapısını korumaya izin verir, böylece çözücüler için kullanılabilir hale getirir ve bu da, özel ayrıştırma yöntemleri kullanarak onu kullanabilir. Bükücülerin ayrışması çözümü hızlandırmak için.

Sağlam optimizasyon yapıları

SAMPL, üç tür sağlam optimizasyon formülasyonunu tanımlamak için yapıları destekler:

  • Soyster[3]
  • Bertsimas ve Sim[4]
  • Ben-Tal ve Nemirovski[5]

Kullanılabilirlik

SAMPL şu anda AMPLDev yazılımının bir parçası olarak mevcuttur (dağıtımı www.optirisk-systems.com ). Birçok popüler 32 ve 64 bit platformu destekler: pencereler, Linux ve Mac OS X. Sınırlı işlevselliğe sahip ücretsiz bir değerlendirme sürümü mevcuttur.[6]

Stokastik programlama örnek modeli

Aşağıda basit bir problemin SAMPL versiyonu verilmiştir (Dakota[7]), SP ile ilgili yapıları göstermek için. Normal AMPL sözdizimini izleyen veri dosyasını içermez (bkz. misal AMPL Wikipedia sayfasında daha fazla referans için sağlanmıştır).

Ayarlamak Üretim;Ayarlamak Kaynak;# Senaryolar (gelecekteki olası gerçekleşmeler)senaryo kümesi Scen;# Problemin iki aşamalı bir problem olarak tanımlanmasıağaç Ağaç: = iki kademe;# Her senaryodaki her ürün için taleprastgele parametre Talep {Üretim, Sahne};# Her senaryonun olasılığıolasılık P {Sahne};# Her kaynak biriminin maliyetiparam Maliyet{Kaynak};# Kaynak birimleri açısından her üründen bir birim üretme gereksinimiparam ProdReq{Kaynak,Üretim};# Her ürünün satış fiyatıparam Fiyat{Üretim};# Başlangıç ​​bütçesiparam Bütçe;# Satın alınacak kaynak miktarıvar satın almak{riçindeKaynak}>=0, son ek aşaması 1;# Üretilecek her bir ürünün miktarıvar miktar{piçindeÜretim,siçindeSahne}>=0, son ek aşaması 2;# Satılacak her bir ürünün miktarıvar Miktarlar{piçindeÜretim,siçindeSahne}>=0, son ek aşaması 2;# Satışlardan beklenen toplam gelir eksi kaynaklar için maliyet olarak toplam nihai servetmaksimize etmek servet:toplam{siçindeSahne}P[s]* (toplam{piçindeÜretim}Fiyat[p]*Miktarlar[p,s]-toplam{riçindeKaynak}Maliyet[r]*satın almak[r]);konu-e# Amaçladığımız şeyi üretmek için yeterli kaynağa sahip olduğunuzdan emin olundenge{riçindeKaynak,siçindeSahne}: satın almak[r]>=toplam{piçindeÜretim}ProdReq[r,p]*miktar[p,s];# Üretmediğimizi satmayacağımızdan emin olüretim{piçindeÜretim,siçindeSahne}:Miktarlar[p,s]<=miktar[p,s];# Pazar talebinden fazlasını satmadığımızdan emin olunsatış{piçindeÜretim,siçindeSahne}:Miktarlar[p,s]<=Talep[p,s];# Başlangıç ​​bütçesine saygı gösterinBudgetres:toplam{riçindeKaynak}Maliyet[r]*satın almak[r]<=Bütçe;

Çözücü bağlantısı

SP sorunları için SAMPL örnek seviyesi biçimi SMPS'dir ve bu nedenle sorun, bu standardı destekleyen herhangi bir çözücü tarafından çözülebilir. Bu tür çözücülerden biri (FortSP) standart SAMPL dağıtımına dahildir. Sağlam optimizasyon problemleriyle ilgili olarak, Ben-Tal ve Nemirovski formülasyonunun bir ihtiyaç duyduğu için, ihtiyaç duyulan çözücü kullanılan özel formülasyona bağlıdır. ikinci dereceden koni yetenekli çözücü.

Ayrıca bakınız

Referanslar

  1. ^ Christian Valente, Gautam Mitra, Mustapha Sadki ve Robert Fourer (2009). "Stokastik programlama için cebirsel modelleme dillerinin genişletilmesi". INFORMS Bilgi İşlem Dergisi. 21 (1): 107–122. doi:10.1287 / ijoc.1080.0282.CS1 bakım: birden çok isim: yazarlar listesi (bağlantı)
  2. ^ http://www.ampl.com/solvers.html
  3. ^ Allen L Soyster (1974). "Teknik Not - Set-Dahil Kısıtlamalarla Konveks Programlama ve Hatasız Doğrusal Programlama Uygulamaları". Yöneylem Araştırması. 21 (5): 1154–1157. doi:10.1287 / opre.21.5.1154.
  4. ^ Bertsimas, Dimitris; Sim, Melvyn (2004). "Sağlamlığın Bedeli". Yöneylem Araştırması. 52 (1): 35–53. doi:10.1287 / opre.1030.0065.
  5. ^ Aharon Ben-Tal ve Arkadi Nemirovski (1998). "Sağlam dışbükey optimizasyon". Yöneylem Araştırması Matematiği. 23 (4): 769–805. CiteSeerX  10.1.1.135.798. doi:10.1287 / demirli.23.4.769.
  6. ^ http://optirisk-systems.com/products_ampldevSP.asp
  7. ^ Higle Julia L, Wallace, Stein W (2003). "Doğrusal programlamada duyarlılık analizi ve belirsizlik" (PDF). Arayüzler. 33 (4): 53–60. doi:10.1287 / inte.33.4.53.16370.CS1 bakım: birden çok isim: yazarlar listesi (bağlantı)

Dış bağlantılar