샘플
SAMPL| 패러다임 | 멀티캐릭터: 선언적, 필수 |
|---|---|
| 설계자 | 고탐 미트라, 엔자 메시나, 발렌테 패트릭 |
| 처음 등장한 | 전( |
| 안정된 릴리스 | 20120523 / 2013년 5월 , 전( |
| OS | 크로스 플랫폼(멀티 플랫폼) |
| 면허증. | 독자 사양 |
| 파일 이름 확장자 | .mod .dat .sampl 실행 |
| 웹 사이트 | www |
| 영향을 받다 | |
| 앰프 | |
SAMPL은 "Stochastic AMBL"의 약자로, 구문과 키워드를 확장하여 잘 알려진 언어인 AMPL을 확장한 대수 모델링 언어입니다.확률 프로그래밍[1] 문제 및 최근 확장을 통해 기회 제약, 통합 기회 제약 및 강력한 최적화 문제를 표현하기 위해 특별히 설계되었습니다.이는 MPL이 [2]연결된 모든 솔버를 사용하여 인스턴스의 결정론적 등가 버전을 생성하거나 SMPS 표현을 생성하고 FortSP와 같은 특수 분해 기반 솔버를 사용할 수 있습니다.
언어 기능
SAMPL은 모든 언어 기능을 AMPL과 공유하고 시나리오 기반의 확률적 프로그래밍과 강력한 최적화를 표현하기 위해 특별히 설계된 몇 가지 구성을 추가합니다.
확률적 프로그래밍 기능 및 구성
시나리오 기반 SP 문제를 표현하기 위해 추가 구성에서는 트리 구조를 설명하고 결정 변수를 단계별로 그룹화합니다.또한 트리의 각 분기에 대한 확률을 저장하는 매개 변수와 시나리오 세트를 나타내는 매개 변수를 지정할 수 있습니다.SP 문제에서 기회 제약 및 통합 기회 제약 조건을 쉽게 정의하는 다른 구성도 사용할 수 있습니다.이러한 언어구조를 사용하면 문제의 구조를 유지할 수 있으므로 해결자가 문제를 이용할 수 있으며, 해결자는 Benders의 분해와 같은 특수한 분해 방법을 사용하여 문제를 신속하게 해결할 수 있습니다.
견고한 최적화 구조
SAMPL은 다음 세 가지 유형의 강력한 최적화 공식을 설명하는 구조를 지원합니다.
유용성
SAMPL은 현재 소프트웨어 AMPLDev(www.optirisk-systems.com에서 배포)의 일부로 제공됩니다.Windows, Linux 및 Mac 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 resourceparam Cost{Resource};# Requirement in terms of resources units to produce one unit of each productparam ProdReq{Resource,Prod};# Selling price of each productparam Price{Prod};# Initial budgetparam Budget;# Amount of resources to buyvar buy{r in Resource} >= 0,접미사 스테이지 1;# Amount of each product to producevar amountprod{p in Prod, s in Scen} >= 0,접미사 단계 2;# Amount of each product to sellvar amountsell{p in Prod, s in Scen} >= 0,접미사 단계 2;# Total final wealth, as expected total income from sales minus costs for the resourcesmaximize 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 tobalance{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 produceproduction{p in Prod, s in Scen}: amountsell[p,s] <= amountprod[p,s];# Make sure we do not sell more than the market demandsales{p in Prod, s in Scen}: amountsell[p,s] <= Demand[p,s];# Respect initial budgetbudgetres: sum{r in Resource} Cost[r] * buy[r] <= Budget;
솔버 접속
SP 문제의 SAMPL 인스턴스 레벨 포맷은 SMPS이므로 이 표준을 지원하는 모든 솔버에 의해 문제를 해결할 수 있습니다.이러한 솔버(FortSP)의 1개가 표준 SAMPL 배포에 포함되어 있습니다.Ben-Tal 및 Nemirovski 제제는 2차 원추형 용액이 필요하기 때문에 강력한 최적화 문제에 관해 필요한 용액은 사용되는 특정 제제에 따라 달라집니다.
「 」를 참조해 주세요.
- 대수 모델링 언어
- AIMMS
- 앰프
- 포트 SP
- GAMS – 일반 대수 모델링 시스템
- GLPK – AMPL 서브셋을 기반으로 한 무료 오픈 소스 시스템
- MPS(형식)
- 견고한 최적화
- 확률적 프로그래밍
레퍼런스
- ^ 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: 여러 이름: 작성자 목록(링크) - ^ "Solvers".
- ^ 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.
- ^ Bertsimas, Dimitris; Sim, Melvyn (2004). "The Price of Robustness". Operations Research. 52 (1): 35–53. doi:10.1287/opre.1030.0065. hdl:2268/253225.
- ^ 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.
- ^ "Products: AMPLDev SP". optirisk-systems.com. Archived from the original on 2012-11-11.
- ^ 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: 여러 이름: 작성자 목록(링크)