샘플

SAMPL
샘플
패러다임멀티캐릭터: 선언적, 필수
설계자고탐 미트라, 엔자 메시나, 발렌테 패트릭
처음 등장한2001년; 21년 전(2001년)
안정된 릴리스
20120523 / 2013년 5월 23일, 9년 전(2013-05-23)
OS크로스 플랫폼(멀티 플랫폼)
면허증.독자 사양
파일 이름 확장자.mod .dat .sampl 실행
웹 사이트www.optirisk-systems.com
영향을 받다
앰프

SAMPL은 "Stochastic AMBL"의 약자로, 구문과 키워드를 확장하여 잘 알려진 언어인 AMPL을 확장한 대수 모델링 언어입니다.확률 프로그래밍[1] 문제 및 최근 확장을 통해 기회 제약, 통합 기회 제약 및 강력한 최적화 문제를 표현하기 위해 특별히 설계되었습니다.이는 MPL이 [2]연결된 모든 솔버를 사용하여 인스턴스의 결정론적 등가 버전을 생성하거나 SMPS 표현을 생성하고 FortSP와 같은 특수 분해 기반 솔버를 사용할 수 있습니다.

언어 기능

SAMPL은 모든 언어 기능을 AMPL과 공유하고 시나리오 기반의 확률적 프로그래밍강력한 최적화를 표현하기 위해 특별히 설계된 몇 가지 구성을 추가합니다.

확률적 프로그래밍 기능 및 구성

시나리오 기반 SP 문제를 표현하기 위해 추가 구성에서는 트리 구조를 설명하고 결정 변수를 단계별로 그룹화합니다.또한 트리의 각 분기에 대한 확률을 저장하는 매개 변수와 시나리오 세트를 나타내는 매개 변수를 지정할 수 있습니다.SP 문제에서 기회 제약 및 통합 기회 제약 조건을 쉽게 정의하는 다른 구성도 사용할 수 있습니다.이러한 언어구조를 사용하면 문제의 구조를 유지할 수 있으므로 해결자가 문제를 이용할 수 있으며, 해결자는 Benders의 분해와 같은 특수한 분해 방법을 사용하여 문제를 신속하게 해결할 수 있습니다.

견고한 최적화 구조

SAMPL은 다음 세 가지 유형의 강력한 최적화 공식을 설명하는 구조를 지원합니다.

  • 소이스터[3]
  • 베르트마스와[4]
  • 벤탈과 네미로프스키[5]

유용성

SAMPL은 현재 소프트웨어 AMPLDev(www.optirisk-systems.com에서 배포)의 일부로 제공됩니다.Windows, LinuxMac OS X를 비롯한 많은 인기 있는 32비트 및 64비트 플랫폼을 지원합니다. 제한된 기능을 갖춘 무료 평가 버전을 사용할 [6]수 있습니다.

확률 프로그래밍 샘플 모델

다음으로 SP 관련 구성을 표시하기 위한 단순한 문제(Dakota[7])의 SAMPL 버전을 나타냅니다.일반적인 AMP 구문을 따르는 데이터 파일은 포함되지 않습니다(자세한 내용은 AMP Wikipedia 페이지에 제공된 예 참조).

set Prod; set Resource;  # Scenarios (future possible realizations) 시나리오 세트 장면# Definition of the problem as a two-stage problem 트리 : = 2단계;# Demand for each product in each scenario 랜덤 파라미터 요구{Prod, Scen};# Probability of each scenario 확률 P{Scen};# Cost of each unit of resource param Cost{Resource};  # Requirement in terms of resources units to produce one unit of each product param ProdReq{Resource,Prod};  # Selling price of each product param Price{Prod};  # Initial budget param Budget;  # Amount of resources to buy var buy{r in Resource} >= 0, 접미사 스테이지 1;# Amount of each product to produce var amountprod{p in Prod, s in Scen} >= 0, 접미사 단계 2;# Amount of each product to sell var amountsell{p in Prod, s in Scen} >= 0, 접미사 단계 2;# Total final wealth, as expected total income from sales minus costs for the resources maximize wealth: sum{s in Scen} P[s] *  (sum{p in Prod} Price[p] * amountsell[p,s] - sum{r in Resource} Cost[r] * buy[r]);  subject to # Make sure you have enough resources to produce what we intend to balance{r in Resource, s in Scen}:  buy[r] >= sum{p in Prod} ProdReq[r,p] * amountprod[p, s]; # Make sure we do not sell what we did not produce production{p in Prod, s in Scen}: amountsell[p,s] <= amountprod[p,s]; # Make sure we do not sell more than the market demand sales{p in Prod, s in Scen}: amountsell[p,s] <= Demand[p,s]; # Respect initial budget budgetres: sum{r in Resource} Cost[r] * buy[r] <= Budget; 

솔버 접속

SP 문제의 SAMPL 인스턴스 레벨 포맷은 SMPS이므로 이 표준을 지원하는 모든 솔버에 의해 문제를 해결할 수 있습니다.이러한 솔버(FortSP)의 1개가 표준 SAMPL 배포에 포함되어 있습니다.Ben-Tal 및 Nemirovski 제제는 2차 원추형 용액이 필요하기 때문에 강력한 최적화 문제에 관해 필요한 용액은 사용되는 특정 제제에 따라 달라집니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Christian Valente, Gautam Mitra, Mustapha Sadki and Robert Fourer (2009). "Extending algebraic modelling languages for stochastic programming". INFORMS Journal on Computing. 21 (1): 107–122. doi:10.1287/ijoc.1080.0282.{{cite journal}}: CS1 maint: 여러 이름: 작성자 목록(링크)
  2. ^ "Solvers".
  3. ^ Allen L Soyster (1974). "Technical Note—Convex Programming with Set-Inclusive Constraints and Applications to Inexact Linear Programming". Operations Research. 21 (5): 1154–1157. doi:10.1287/opre.21.5.1154.
  4. ^ Bertsimas, Dimitris; Sim, Melvyn (2004). "The Price of Robustness". Operations Research. 52 (1): 35–53. doi:10.1287/opre.1030.0065. hdl:2268/253225.
  5. ^ Aharon Ben-Tal & Arkadi Nemirovski (1998). "Robust convex optimization". Mathematics of Operations Research. 23 (4): 769–805. CiteSeerX 10.1.1.135.798. doi:10.1287/moor.23.4.769.
  6. ^ "Products: AMPLDev SP". optirisk-systems.com. Archived from the original on 2012-11-11.
  7. ^ Higle, Julia L, Wallace, Stein W (2003). "Sensitivity analysis and uncertainty in linear programming" (PDF). Interfaces. 33 (4): 53–60. doi:10.1287/inte.33.4.53.16370.{{cite journal}}: CS1 maint: 여러 이름: 작성자 목록(링크)

외부 링크