확률적 프로그래밍

Stochastic programming

수학 최적화 분야에서 확률 프로그래밍불확실성을 수반하는 최적화 문제를 모델링하기 위한 프레임워크다. 확률적 프로그램은 일부 또는 모든 문제 매개변수가 불확실하지만 알려진 확률 분포를 따르는 최적화 문제다.[1][2] 이 프레임워크는 모든 문제 매개변수가 정확히 알려진 것으로 가정되는 결정론적 최적화와 대비된다. 확률적 프로그래밍의 목적은 의사결정자가 선택한 일부 기준을 최적화하고, 문제 매개변수의 불확실성을 적절히 설명하는 결정을 찾는 것이다. 많은 실제 결정들이 불확실성을 수반하기 때문에, 확률적 프로그래밍은 금융에서 교통, 에너지 최적화까지 광범위한 영역에서 응용 프로그램을 발견했다.[3][4]

2단계 문제

2단계 확률형 프로그래밍의 기본 개념은 (최적적) 결정은 의사결정이 이루어지는 시점에 이용 가능한 데이터에 기초해야 하며 향후 관찰에 의존할 수 없다는 것이다. 2단계 제형은 확률형 프로그래밍에 널리 사용된다. 2단계 확률형 프로그래밍 문제의 일반적인 공식화는 다음과 같다.

여기서 ( ,) 2단계 문제의 최적 값이다.

고전적인 2단계 선형 확률적 프로그래밍 문제는 다음과 같이 공식화될 수 있다.

여기서 ( ,) 2단계 문제의 최적 값이다.

In such formulation is the first-stage decision variable vector, is the second-stage decision variable vector, and contains the data of the second-stage problem. 이 공식에서, 임의 벡터로 보이는불확실한 데이터 의 실현이 알려지기 전에 첫 번째 단계에서 우리는 "여기서 지금" x 을 내려야 한다. 두 번째 단계에서는 의 실현이 가능해진 후, 적절한 최적화 문제를 해결하여 행동을 최적화한다.

첫 번째 단계에서 비용 t 1단계 결정의 에 (최적) 2단계 결정의 예상 비용 추가. 우리는 2단계 문제를 단순히 불확실한 데이터가 드러날 때 우리의 최적의 행동을 설명하는 최적화 문제로 볼 수도 있고, 라는 용어가 T x h h}의 가능한 불일치를 보상하는 재청구 작업으로 고려할 수도 있다. y (는) 이 상환 청구 조치의 비용이다.

객관적 기능과 제약조건이 선형이기 때문에 고려되는 2단계 문제는 선형이다. 개념적으로 이것은 필수적인 것이 아니며 더 일반적인 2단계 확률론 프로그램을 고려할 수 있다. 예를 들어 1단계 문제가 정수일 경우 1단계 문제에 통합성 제약조건을 추가하여 실현 가능한 집합이 분리되도록 할 수 있다. 필요한 경우 비선형 목표와 제약조건도 통합할 수 있다.[5]

분포 가정

위의 2단계 문제의 공식화에서는 2단계 데이터 을(를) 알려진 확률 분포의 랜덤 벡터로 모델링할 수 있다고 가정한다. 이것은 많은 상황에서 정당화될 것이다. 예를 들어 은(는) 과거 데이터에서 파생된 정보일 수 있으며, 해당 분포는 고려된 기간 동안 크게 변경되지 않는다. 그러한 상황에서는 요구되는 확률 분포를 신뢰성 있게 추정할 수 있으며 평균적으로 최적화는 대수의 법칙에 의해 정당화될 수 있다. 또 다른 예는 이(가) 출력이 확률적인 시뮬레이션 모델의 실현일 수 있다는 것이다. 표본의 경험적 분포는 참이지만 알 수 없는 출력 분포에 대한 근사치로 사용될 수 있다.

디스커트화

2단계 확률적 문제를 수치적으로 해결하려면 종종 무작위 벡터 이(가) 시나리오라고 하는 가능한 실현의 수가 한정되어 있다고 가정할 필요가 있는데, 이는 각각 , }, P {\이다 그러면 1단계 문제의 객관적 기능에 대한 기대치를 다음과 같은 합계로 작성할 수 있다.

또한, 2단계 문제는 하나의 큰 선형 프로그래밍 문제로 공식화될 수 있다(이 문제를 원래 문제의 결정론적 등가라고 한다, 섹션 § 확률론적 문제의 결정론적 등가 참조).

이(가) 무한(또는 매우 큰) 실현 수를 가질 경우 표준 접근방식은 시나리오별로 이 분포를 나타내는 것이다. 이 접근방식은 세 가지 의문을 제기한다.

  1. 시나리오를 작성하는 방법, § 시나리오 구조를 참조한다.
  2. 결정론적 등가물을 해결하는 방법. CPLEX, GLPK와 같은 최적기는 큰 선형/비선형 문제를 해결할 수 있다. 매디슨 위스콘신 대학교에서 [6]주최하는 NEOS 서버는 많은 현대적인 해결사들에게 무료로 접근할 수 있다. 결정론적 등가물의 구조는 특히 벤더의 분해 또는 시나리오 [7]분해와 같은 분해 방법을 적용하기에 적합하다.
  3. "진정한" 최적값에 대해 획득한 솔루션의 품질을 측정하는 방법.

이 질문들은 독립적이지 않다. 예를 들어, 구성된 시나리오의 수는 결정론적 등가의 추적성과 획득한 해결책의 품질 모두에 영향을 미칠 것이다.

확률적 선형 프로그래밍

확률적 선형 프로그램은 고전적인 2단계 확률적 프로그램의 특정한 예다. 확률형 LP는 다주기 선형 프로그램(LP)의 모음에서 만들어지며, 각각 구조는 같지만 데이터는 다소 다르다. k k h 시나리오를 나타내는 2주기 LP는 다음과 같은 형태를 갖는 것으로 볼 수 있다.

벡터 y 에는 첫 번째 주기 변수가 포함되어 있으며 이 변수는 즉시 값을 선택해야 한다. 벡터 는 이후 기간에 대한 모든 변수를 포함한다. 제한조건 + = 은(는) 첫 번째 주기 변수만 포함하며 모든 시나리오에서 동일하다. 다른 제약조건은 이후 기간의 변수를 포함하며 미래에 대한 불확실성을 반영하여 시나리오마다 일부 측면에서 다르다.

k 2주기 LP를 푸는 것은 불확실성 없이 k 시나리오를 2기로 가정하는 것과 같다는 점에 유의한다. 2단계에서 불확실성을 통합하기 위해서는 다른 시나리오에 확률을 할당하고 그에 상응하는 결정론적 등가물을 해결해야 한다.

확률적 문제에 대한 결정론적 등가

한정된 수의 시나리오로, 2단계 확률적 선형 프로그램은 큰 선형 프로그래밍 문제로 모델링될 수 있다. 이 공식은 흔히 결정론적 등가선형 프로그램 또는 결정론적 등가선형 프로그램으로 약칭된다.(결정론적 등가선형은 최적의 1단계 결정을 계산하는 데 사용할 수 있는 수학적 프로그램이기 때문에 이러한 프로그램들은 한 사람이 대표할 수 있는 경우 연속 확률분포에도 존재할 것이다.t 어떤 폐쇄형 형태의 2단계 비용) 예를 들어, 위의 확률적 선형 프로그램과 동등한 결정론적 형태를 형성하기 위해 를 각 시나리오 = , K 할당한다 그러면 우리는 모든 시나리오의 제약조건에 따라 목표의 기대치를 최소화할 수 있다.

각 시나리오 에 대해 다른 벡터 }가 있다 그러나 첫 번째 주기 변수 은 모든 시나리오에서 동일하다. 어떤 시나리오가 실현될지 알기 전에 첫 번째 기간에 대한 결정을 내려야 하기 때문이다. x 만 포함하는 제약조건은 한 번만 지정하면 되며, 나머지 제약조건은 각 시나리오별로 별도로 부여해야 한다.

시나리오 구성

실제로 미래에 대한 전문가들의 의견을 이끌어냄으로써 시나리오를 구성하는 것이 가능할 수 있다. 생성된 시나리오의 수는 얻어진 결정론적 등가물이 합리적인 계산 노력으로 해결될 수 있도록 상대적으로 적어야 한다. 단 몇 개의 시나리오만을 사용하여 최적화한 솔루션이 단일 시나리오만을 가정하는 솔루션보다 더 적응성 있는 계획을 제공한다고 주장하는 경우가 많다. 어떤 경우에는 시뮬레이션으로 그러한 청구를 확인할 수 있다. 이론적으로, 얻어진 해결책이 원래의 문제를 합리적인 정확도로 해결한다는 보장의 몇몇 척도가 있다. 일반적으로 애플리케이션에서는 1단계 최적 솔루션 ∗{\ x만 실제 값을 가지는데, 거의 항상 무작위 데이터의 "진정한" 실현은 구성된(생성된) 시나리오 집합과 다를 것이기 때문이다.

독립 랜덤 성분이 포함되어 있다고 가정해 보십시오(예: 각 랜덤 파라미터의 미래 실현은 로우, 중간 및 하이로 분류됨). 그러면 시나리오의 총 K = {\ 그러한 지수시나리오 수의 증가는 합리적인 크기 d에도 전문가의 의견을 이용한 모델 개발을 매우 어렵게 만든다 의 일부 랜덤 성분이 연속적인 분포를 갖는다면 상황은 더욱 악화된다.

몬테카를로 표본 추출 및 표본 평균 근사법(SAA)

관리 가능한 크기로 설정된 시나리오를 줄이기 위한 일반적인 접근방식은 몬테카를로 시뮬레이션을 사용하는 것이다. 시나리오의 총 수가 매우 크거나 심지어 무한하다고 가정합시다. 랜덤 벡터, \xi ^{^{xi ^{의 랜덤 벡터 복제 샘플을 생성할 수 있다고 가정해 보십시오i.d 샘플). 일반적으로 샘플은 독립적이고 동일한 분산된 것으로 가정한다. 표본이 주어진 기대 함수 (x)= E[ Q( ,) 은 표본 평균으로 근사치된다.

그리고 결과적으로 1단계 문제는 다음과 같다.

이 공식은 표본 평균 근사법이라고 알려져 있다. SAA 문제는 고려된 샘플의 함수로서, 그러한 의미에서 무작위적이다. For a given sample the SAA problem is of the same form as a two-stage stochastic linear programming problem with the scenarios ., , each taken with the same probability =

통계적 추론

다음의 확률적 프로그래밍 문제를 고려하십시오.

Here is a nonempty closed subset of , is a random vector whose probability distribution is supported on a set , and 2단계 확률 프로그래밍의 프레임워크에서 ,) )는 해당 2단계 문제의 최적 값으로 주어진다.

( ) (가) x X 에 대해 잘 정의되고 유한하다고 가정하자 이는 모든 에 대해 x , )가 거의 확실히 유한하다는 것을 의미한다.

벡터 …, \xi 표본이 가정합시다 이 무작위 샘플은 {\ N{\N} 관측치의 과거 데이터로 볼 수 있으며, 몬테카를로 샘플링 기법에 의해 생성될 수 있다. 그런 다음 해당 표본 평균 근사치를 공식화할 수 있다.

By the Law of Large Numbers we have that, under some regularity conditions converges pointwise with probability 1 to as . Moreover, unde경미한 추가 조건 수렴이 균일하다. We also have , i.e., is an unbiased estimator of . Therefore, it is natural to expect that the optimal value and optimal solutions of the SAA problem converge to 그들의 한 문제의 상대자들인N → N

SAA 추정기의 일관성

SAA 문제의 실현 가능한 세트 이(가) 고정되어 있다고 가정하십시오. 즉, 샘플과 무관하다. Let and be the optimal value and the set of optimal solutions, respectively, of the true problem and let and be the optimal value and the set of 각각 SAA 문제의 최적 해결책.

  1. : : X 은(결정적) 실제 가치 함수의 연속이다. 다음 두 가지 속성은 동일하다.
    • for any and any sequence converging to it follows that converges to
    • 함수 ( ) g(는) N(^){\ )은 부분 에서 균일하게 수렴된다.
  2. If the objective of the SAA problem converges to the true problem's objective with probability 1, as , uniformly on the feasible set . Then 은(는) 에 수렴하며, 확률 은 N
  3. 콤팩트 세트 (가) 있다고 가정해 보십시오.
    • 실제 문제의 최적 해결책의 S {\은(는) 있지 않으며 C {\에 포함되어 있다.
    • ( x) 은(는) 유한 값으로 C에서 연속적으로 지정됨
    • 함수 ( ) )}은(는) 1과 함께 ( x) 에 통합되며, N \ 로 균일하게 x이다.
    • ^ {\_{N) 충분히displaystyle {\ S N ^ ^{\ C
then and with probability 1 as . Note that 은(는) 다음과 같이 정의된 세트 에서 세트 편차를 나타낸다

어떤 상황에서는 SAA 문제의 실현 가능한 X 을(를) 추정하면 해당 SAA 문제가 형태를 취한다.

여기서 는 표본에 따라 의 부분 집합이므로 랜덤이다. 그럼에도 불구하고 SAA 추정기에 대한 일관성 결과는 다음과 같은 추가 가정에 따라 도출될 수 있다.

  1. 콤팩트 세트 (가) 있다고 가정해 보십시오.
    • 실제 문제의 최적 해결책의 S {\은(는) 있지 않으며 C {\에 포함되어 있다.
    • ( x) 은(는) 유한 값으로 C에서 연속적으로 지정됨
    • 함수 ( ) )}은(는) 1과 함께 ( x) 에 통합되며, N \ 로 균일하게 x이다.
    • ^ {\_{N) 충분히displaystyle {\ S N ^ ^{\ C
    • ()x N {\x_{이(가 확률 과(와) 합쳐지면, x
    • 어떤 지점 S에 대해, 확률 을 갖는 → x }\in 시퀀스 ∈ X N이 .
then and with probability 1 as .

SAA 최적값의 점근법

Suppose the sample is i.i.d. and fix a point . Then the sample average estimator , of , is unbiased and has variance { 여기서 ( ) [ ( ,) (는) 유한해야 한다. 게다가, 중앙 한계 정리로는

where denotes convergence in distribution and has a normal distribution with mean and variance , written as .

In other words, has asymptotically normal distribution, i.e., for large , has approximately normal distribution with mean and variance 이렇게 하면 ) x에 대한 신뢰 구간이 다음(대략로 이어진다

여기서 / - ( 1 -/ 2) 여기서 (⋅ ) 표준 정규 분포의 cdf를 나타냄) 및

( 의 표본 분산 추정치 입니다 g ( ) {\ g의 추정 오차는 (stocholic) (){\displaystysty

응용 프로그램 및 예제

생물학적 응용

확률론적 동적 프로그래밍행동 생태학 같은 분야에서 동물의 행동을 모형화하는 데 자주 사용된다.[8][9] 최적의 노화, 생물-역사 전환 모델(예: 새의 산란, 파라시토이드 말벌의 난자 산란 등)의 경험적 실험은 행동 의사결정 진화를 설명하는 데 있어 이 모델링 기법의 가치를 보여주었다. 이 모델들은 일반적으로 2단계라기보다는 다단계라 할 수 있다.

경제 적용

확률론적 동적 프로그래밍은 불확실성 하에서 의사결정을 이해하는 데 유용한 도구다. 불확실성에 따른 자본 주식의 축적이 한 예인데, 종종 자원 경제학자들이 날씨 등 불확실성이 유입되는 바이오 경제 문제[10] 분석하기 위해 사용한다.

예: 다단계 포트폴리오 최적화

다음은 다단계 확률형 프로그래밍의 재정에서 나온 예다. = 자산에 할 초기 자본 W 0 {\ W_이 있다고 가정합시다. 더 나아가 우리가 포트폴리오에 추가 현금을 투입하지 않고 =1,… , - t=을(를) 재조정할 수 있다고 가정하자. t 에서 자산 재산 W t {\ W_{t를 재분배하기로 결정한다. =( ,, 0) 를 n 자산에 투자한 초기 금액으로 한다. 각 x }이) 음이 아니며 균형 방정식 i= x 0= 이(가)가 되어야 한다.은(는) 참아야 한다.

Consider the total returns for each period . This forms a vector-valued random process . At time period 각 자산에 투자한 x =( x ,, x 을 지정하여 포트폴리오의 균형을 재조정할 수 있다. 그 때 첫 번째 기간의 수익이 실현되었으므로 이 정보를 재조정 결정에 사용하는 것이 합리적이다. Thus, the second-stage decisions, at time , are actually functions of realization of the random vector , i.e., . Similarly, at time the decision is a function of the available information given by the history of the random process up to time . A sequence of functions , , with being constant, defines an implementable policy of the decision process. It is said that such a policy is feasible if it satisfies the model constraints with probability 1, i.e., the nonnegativity constraints , , , and the balance of weal번째 구속조건,

여기서 t= ,, T}은 재산 {\ W_에 의해 주어진다.

임의 프로세스의 실현과 시간 까지의 결정에 따라 달라진다

마지막 기간에 이 부의 기대 효용, 즉 문제를 고려하는 것이 목적이라고 가정합시다.

이것은 다단계 확률 프로그래밍 문제로, 단계 가 t= 에서 =T- 1 까지이며 실행 가능하고 실현 가능한 모든 정책에 대해 최적화가 수행된다. 문제 설명을 완성하기 위해서는 무작위 needs1 ,…, T{\\ _ 이것은 다양한 방법으로 할 수 있다. 예를 들어 프로세스의 시간 진화를 정의하는 특정 시나리오 트리를 구성할 수 있다. 각 자산의 무작위 수익률이 다른 자산과 독립적으로 두 개의 연속성을 가질 수 있다면, 시나리오의 총 수는 2이다.

동적 프로그래밍 방정식을 작성하려면 위의 다단계 문제를 시간 역순으로 고려하십시오. At the last stage , a realization of the random process is known and has been chosen. 따라서 다음과 같은 문제를 해결해야 한다.

where denotes the conditional expectation of given . The optimal value of the above problem depends on and and is denoted .

마찬가지로, = T- ,, 1 에서는 문제를 해결해야 한다

최적의 값은 t ,[ ) 으로 단계 t= t에서 문제를 해결한다

단계별 독립 랜덤 공정

general t {t의 일반적인 분포에서는 이러한 동적 프로그래밍 방정식을 해결하기 어려울 수 있다 The situation simplifies dramatically if the process is stagewise independent, i.e., is (stochastically) independent of for . In this case, 조건부 기대는 무조건적인 기대치가 되고, Q t t) = , -1 t[ 에 의존하지 않는다 즉, - ( - 1) 문제의 최적 값이다.

( ) (는)의 최적 값이다.

= - , 1}의 경우

소프트웨어 도구

모델링 언어

모든 이산 확률적 프로그래밍 문제는 모든 대수적 모델링 언어로 표현될 수 있으며, 결과 모델이 각 단계에서 이용할 수 있는 정보의 구조를 존중하는지 확인하기 위해 명시적이거나 암묵적인 비예측성을 수동으로 구현한다. 일반적인 모델링 언어에 의해 생성된 SP 문제의 한 예는 상당히 크게 증가하는 경향이 있으며(시나리오 수에 선형적으로), 그 매트릭스는 이 종류의 문제에 내재된 구조를 상실하며, 그렇지 않으면 특정 분해 알고리즘에 의해 해결 시점에 악용될 수 있다. SP용으로 특별히 설계된 언어의 모델링 확장자가 나타나기 시작한다. 자세한 내용은 다음을 참조하십시오.

  • AIMMS - SP 문제의 정의 지원
  • EMP SP(가연성 프로그래밍을 위한 확장 수학적 프로그래밍) - 확률적 프로그래밍을 용이하게 하기 위해 만들어진 GAMS 모듈(모수 분포의 키워드, 위험에서의 가치 및 예상 부족량과 같은 위험 조치 포함)
  • SAMPL - 확률적 프로그램을 표현하도록 특별히 설계된 MEMP 확장 세트(우연 제약 조건, 통합된 기회 제약 조건 및 강력한 최적화 문제에 대한 구문 포함)

그들은 모두 SMPS 인스턴스 수준 형식을 생성할 수 있으며, 이는 문제의 구조를 해결사에게 전달하는 비중복적인 형태로 전달된다.

참고 항목

참조

  1. ^ Shapiro, Alexander; Dentcheva, Darinka; Ruszczyński, Andrzej (2009). Lectures on stochastic programming: Modeling and theory (PDF). MPS/SIAM Series on Optimization. Vol. 9. Philadelphia, PA: Society for Industrial and Applied Mathematics (SIAM). Mathematical Programming Society (MPS). pp. xvi+436. ISBN 978-0-89871-687-0. MR 2562798.
  2. ^ Birge, John R.; Louveaux, François (2011). Introduction to Stochastic Programming. Springer Series in Operations Research and Financial Engineering. doi:10.1007/978-1-4614-0237-4. ISBN 978-1-4614-0236-7. ISSN 1431-8598.
  3. ^ 스타인 W. 월리스와 윌리엄 T. 젬바(에드). 확률론적 프로그래밍응용. MPS-SIAM Book Series on Optimization 5, 2005.
  4. ^ 확률형 프로그래밍의 적용은 다음의 웹사이트인 확률형 프로그래밍 커뮤니티에서 설명된다.
  5. ^ Shapiro, Alexander; Philpott, Andy. A tutorial on Stochastic Programming (PDF).
  6. ^ "NEOS Server for Optimization".
  7. ^ Ruszczyński, Andrzej; Shapiro, Alexander (2003). Stochastic Programming. Handbooks in Operations Research and Management Science. Vol. 10. Philadelphia: Elsevier. p. 700. ISBN 978-0444508546.
  8. ^ M. & Clark, C. W. 1988. 행동 생태계의 동적 모델링. 프린스턴 대학교 프레스 ISBN 0-691-08506-4
  9. ^ 휴스턴 A. I & McNamara, J. M. 1999. 적응형 행동 모델: 상태에 기초한 접근. 케임브리지 대학교 프레스 ISBN 0-521-65539-0
  10. ^ Howitt, R, Msangi, S, Reynaud, A, K. Knapp. 2002. "다항식 근사치를 사용하여 확률적 동적 프로그래밍 문제 해결: 또는 "Betty Crocker" 접근 SDP. 캘리포니아 대학교 데이비스, 농업 및 자원 경제학과 워킹 페이퍼.

추가 읽기

외부 링크