Stochastic programming

In the field of mathematical optimization, stochastic programming is a framework for modelingoptimization problems that involve uncertainty. A stochastic program is an optimization problem in which some or all problem parameters are uncertain, but follow known probability distributions.[1][2] This framework contrasts with deterministic optimization, in which all problem parameters are assumed to be known exactly. The goal of stochastic programming is to find a decision which both optimizes some criteria chosen by the decision maker, and appropriately accounts for the uncertainty of the problem parameters. Because many real-world decisions involve uncertainty, stochastic programming has found applications in a broad range of areas ranging from finance to transportation to energy optimization.[3][4]

Methods

Several stochastic programming methods have been developed:

Two-stage problem definition

The basic idea of two-stage stochastic programming is that (optimal) decisions should be based on data available at the time the decisions are made and cannot depend on future observations. The two-stage formulation is widely used in stochastic programming. The general formulation of a two-stage stochastic programming problem is given by: minxX{g(x)=f(x)+Eξ[Q(x,ξ)]}{\displaystyle \min _{x\in X}\{g(x)=f(x)+E_{\xi }[Q(x,\xi )]\}} where Q(x,ξ){\displaystyle Q(x,\xi )} is the optimal value of the second-stage problem miny{q(y,ξ)|T(ξ)x+W(ξ)y=h(ξ)}.{\displaystyle \min _{y}\{q(y,\xi )\,|\,T(\xi )x+W(\xi )y=h(\xi )\}.}

The classical two-stage linear stochastic programming problems can be formulated as minxRng(x)=cTx+Eξ[Q(x,ξ)]subject toAx=bx0{\displaystyle {\begin{array}{llr}\min \limits _{x\in \mathbb {R} ^{n}}&g(x)=c^{T}x+E_{\xi }[Q(x,\xi )]&\\{\text{subject to}}&Ax=b&\\&x\geq 0&\end{array}}}

where Q(x,ξ){\displaystyle Q(x,\xi )} is the optimal value of the second-stage problem minyRmq(ξ)Tysubject toT(ξ)x+W(ξ)y=h(ξ)y0{\displaystyle {\begin{array}{llr}\min \limits _{y\in \mathbb {R} ^{m}}&q(\xi )^{T}y&\\{\text{subject to}}&T(\xi )x+W(\xi )y=h(\xi )&\\&y\geq 0&\end{array}}}

In such formulation xRn{\displaystyle x\in \mathbb {R} ^{n}} is the first-stage decision variable vector, yRm{\displaystyle y\in \mathbb {R} ^{m}} is the second-stage decision variable vector, and ξ(q,T,W,h){\displaystyle \xi (q,T,W,h)} contains the data of the second-stage problem. In this formulation, at the first stage we have to make a "here-and-now" decision x{\displaystyle x} before the realization of the uncertain data ξ{\displaystyle \xi }, viewed as a random vector, is known. At the second stage, after a realization of ξ{\displaystyle \xi } becomes available, we optimize our behavior by solving an appropriate optimization problem.

At the first stage we optimize (minimize in the above formulation) the cost cTx{\displaystyle c^{T}x}يشمل ذلك قرار المرحلة الأولى بالإضافة إلى التكلفة المتوقعة لقرار المرحلة الثانية (الأمثل). يمكننا النظر إلى مشكلة المرحلة الثانية ببساطة على أنها مشكلة تحسين تصف سلوكنا الأمثل المفترض عند الكشف عن البيانات غير المؤكدة، أو يمكننا اعتبار حلها إجراءً رجعيًا حيث يكون المصطلحدبليوy{\displaystyle Wy}يعوض عن أي تناقض محتمل في النظامتيxح{\displaystyle Tx\leq h}وqتيy{\displaystyle q^{T}y}هذه هي تكلفة هذا الإجراء الالتماسي.

تُعتبر المسألة المدروسة ذات المرحلتين خطية لأن دوال الهدف والقيود خطية. من الناحية النظرية، هذا ليس شرطًا أساسيًا، ويمكن النظر في برامج عشوائية أكثر عمومية ذات مرحلتين. على سبيل المثال، إذا كانت مسألة المرحلة الأولى عددية صحيحة، فيمكن إضافة قيود التكامل إلى مسألة المرحلة الأولى بحيث تكون مجموعة الحلول الممكنة منفصلة. كما يمكن دمج أهداف وقيود غير خطية عند الحاجة. [ 5 ]

افتراض التوزيع

يفترض صياغة المسألة ذات المرحلتين المذكورة أعلاه أن بيانات المرحلة الثانيةξ{\displaystyle \xi }يُنمذج المتغير كمتجه عشوائي ذي توزيع احتمالي معروف . وهذا مبرر في كثير من الحالات. على سبيل المثال، توزيعξ{\displaystyle \xi }يمكن استنتاج ذلك من البيانات التاريخية بافتراض أن التوزيع لا يتغير بشكل ملحوظ خلال الفترة الزمنية المدروسة. كما يمكن استخدام التوزيع التجريبي للعينة كتقريب لتوزيع القيم المستقبلية لـξ{\displaystyle \xi }إذا كان لدى المرء نموذج مسبق لـξ{\displaystyle \xi }، يمكن الحصول على التوزيع الاحتمالي اللاحق من خلال تحديث بايزي.

النهج القائم على السيناريوهات

التجزئة

لحل مشكلة الاحتمالات ذات المرحلتين عدديًا، غالبًا ما يحتاج المرء إلى افتراض أن المتجه العشوائيξ{\displaystyle \xi }يحتوي على عدد محدود من الاحتمالات الممكنة، والتي تسمى سيناريوهات ، على سبيل المثالξ1،...،ξك{\displaystyle \xi _{1},\dots ,\xi _{K}}، مع كتل الاحتمالية الخاصة بهاص1،...،صك{\displaystyle p_{1},\dots ,p_{K}}ثم يمكن كتابة القيمة المتوقعة في دالة الهدف لمسألة المرحلة الأولى على شكل مجموع: هـ[سؤال(x،ξ)]=ك=1كصكسؤال(x،ξك){\displaystyle E[Q(x,\xi )]=\sum \limits _{k=1}^{K}p_{k}Q(x,\xi _{k})} وعلاوة على ذلك، يمكن صياغة المشكلة ذات المرحلتين كمشكلة برمجة خطية كبيرة واحدة (يسمى هذا المكافئ الحتمي للمشكلة الأصلية، انظر القسم §  المكافئ الحتمي للمشكلة العشوائية ).

متىξ{\displaystyle \xi }بما أن التوزيع له عدد لا نهائي (أو كبير جدًا) من الاحتمالات الممكنة، فإن النهج القياسي هو تمثيل هذا التوزيع من خلال سيناريوهات. يثير هذا النهج ثلاثة أسئلة، وهي:

  1. كيفية بناء السيناريوهات، انظر §  بناء السيناريو ؛
  2. كيفية حل المكافئ الحتمي. يمكن لبرامج التحسين مثل CPLEX و GLPK حل المسائل الخطية/غير الخطية الكبيرة. يتيح خادم NEOS [ 6 ] ، المُستضاف في جامعة ويسكونسن، ماديسون ، الوصول المجاني إلى العديد من برامج الحل الحديثة. يُعد هيكل المكافئ الحتمي مناسبًا بشكل خاص لتطبيق أساليب التفكيك [ 7 مثل تفكيك بيندرز أو تفكيك السيناريو.
  3. كيفية قياس جودة الحل الذي تم الحصول عليه بالنسبة إلى الحل الأمثل "الحقيقي".

هذه الأسئلة ليست مستقلة. فعلى سبيل المثال، سيؤثر عدد السيناريوهات التي يتم إنشاؤها على كل من سهولة معالجة المكافئ الحتمي وجودة الحلول التي تم الحصول عليها.

البرمجة الخطية العشوائية

البرنامج الخطي العشوائي هو حالة خاصة من البرنامج العشوائي الكلاسيكي ذي المرحلتين. يُبنى البرنامج الخطي العشوائي من مجموعة من البرامج الخطية متعددة الفترات، لكل منها نفس البنية ولكن ببيانات مختلفة نوعًا ما.كتح{\displaystyle k^{th}}يمثل LP ذو الفترتينكتح{\displaystyle k^{th}}يمكن اعتبار السيناريو على النحو التالي:

التقليلوتيx+زتيy+حكتيzكرهناً بـتيx+يوy=رVكy+دبليوكzك=sكx،y،zك0{\displaystyle {\begin{array}{lccccccc}{\text{Minimize}}&f^{T}x&+&g^{T}y&+&h_{k}^{T}z_{k}&&\\{\text{subject to}}&Tx&+&Uy&&&=&r\\&&&V_{k}y&+&W_{k}z_{k}&=&s_{k}\\&x&,&y&,&z_{k}&\geq &0\end{array}}}

المتجهاتx{\displaystyle x}وy{\displaystyle y}تحتوي على متغيرات الفترة الأولى، والتي يجب اختيار قيمها فورًا. المتجهzك{\displaystyle z_{k}}يحتوي على جميع المتغيرات للفترات اللاحقة. القيودتيx+يوy=ر{\displaystyle Tx+Uy=r}تتضمن هذه القيود متغيرات الفترة الأولى فقط، وهي نفسها في جميع السيناريوهات. أما القيود الأخرى فتتضمن متغيرات فترات لاحقة، وتختلف في بعض الجوانب من سيناريو لآخر، مما يعكس حالة عدم اليقين بشأن المستقبل.

لاحظ أن حلكتح{\displaystyle k^{th}}يُعادل نموذج البرمجة الخطية ذو الفترتين افتراضكتح{\displaystyle k^{th}}سيناريو في الفترة الثانية بدون أي غموض. ولإدراج حالات عدم اليقين في المرحلة الثانية، ينبغي تحديد احتمالات للسيناريوهات المختلفة وحل المكافئ الحتمي المقابل لها.

المكافئ الحتمي للمسألة العشوائية

في ظل عدد محدود من السيناريوهات، يمكن نمذجة البرامج الخطية العشوائية ثنائية المراحل كمسائل برمجة خطية كبيرة. يُطلق على هذه الصيغة غالبًا اسم البرنامج الخطي المكافئ الحتمي، أو اختصارًا "المكافئ الحتمي". (بالمعنى الدقيق، المكافئ الحتمي هو أي برنامج رياضي يمكن استخدامه لحساب القرار الأمثل للمرحلة الأولى، وبالتالي، توجد هذه البرامج أيضًا لتوزيعات الاحتمالات المستمرة، عندما يمكن تمثيل تكلفة المرحلة الثانية بصيغة مغلقة). على سبيل المثال، لتكوين المكافئ الحتمي للبرنامج الخطي العشوائي المذكور أعلاه، نُعيّن احتمالًا.صك{\displaystyle p_{k}}لكل سيناريوك=1،...،ك{\displaystyle k=1,\dots ,K}ثم يمكننا تقليل القيمة المتوقعة للهدف، مع مراعاة القيود من جميع السيناريوهات:

التقليلوx+زy+ص1ح1z1+ص2ح2تيz2++صكحكzكرهناً بـتيx+يوy=رV1y+دبليو1z1=s1V2y+دبليو2z2=s2Vكy+دبليوكzك=sكx،y،z1،z2،...،zك0{\displaystyle {\begin{array}{lccccccccccccc}{\text{Minimize}}&f^{\top }x&+&g^{\top }y&+&p_{1}h_{1}^{\top }z_{1}&+&p_{2}h_{2}^{T}z_{2}&+&\cdots &+&p_{K}h_{K}^{\top }z_{K}&&\\{\text{subject to}}&Tx&+&Uy&&&&&&&&&=&r\\&&&V_{1}y&+&W_{1}z_{1}&&&&&&&=&s_{1}\\&&&V_{2}y&&&+&W_{2}z_{2}&&&&&=&s_{2}\\&&&\vdots &&&&&&\ddots &&&&\vdots \\&&&V_{K}y&&&&&&&+&W_{K}z_{K}&=&s_{K}\\&x&,&y&,&z_{1}&,&z_{2}&,&\ldots &,&z_{K}&\geq &0\\\end{array}}}

لدينا متجه مختلفzك{\displaystyle z_{k}}من متغيرات الفترة اللاحقة لكل سيناريوك{\displaystyle k}متغيرات الفترة الأولىx{\displaystyle x}وy{\displaystyle y}ومع ذلك، تظل القيود متماثلة في جميع السيناريوهات، لأننا يجب أن نتخذ قرارًا بشأن الفترة الأولى قبل أن نعرف أي سيناريو سيتحقق. ونتيجة لذلك، فإن القيود التي تتضمن فقطx{\displaystyle x}وy{\displaystyle y}يكفي تحديدها مرة واحدة فقط، بينما يجب تحديد القيود المتبقية بشكل منفصل لكل سيناريو.

بناء السيناريو

عمليًا، قد يكون من الممكن بناء سيناريوهات من خلال استطلاع آراء الخبراء حول المستقبل. ينبغي أن يكون عدد السيناريوهات المبنية محدودًا نسبيًا حتى يمكن حل المكافئ الحتمي الناتج بجهد حسابي معقول. يُزعم غالبًا أن الحل الأمثل الذي يستخدم عددًا قليلًا من السيناريوهات يوفر خططًا أكثر مرونة من الحل الذي يفترض سيناريو واحدًا فقط. في بعض الحالات، يمكن التحقق من هذا الزعم عن طريق المحاكاة. نظريًا، تضمن بعض المقاييس أن الحل المُستنتج يحل المشكلة الأصلية بدقة معقولة. عادةً في التطبيقات، يكون الحل الأمثل هو حل المرحلة الأولى فقط.x*{\displaystyle x^{*}}لها قيمة عملية لأنه في أغلب الأحيان يكون التحقيق "الحقيقي" للبيانات العشوائية مختلفًا عن مجموعة السيناريوهات التي تم إنشاؤها (توليدها).

يفترضξ{\displaystyle \xi }يتضمند{\displaystyle d}إذا كانت لدينا مكونات عشوائية مستقلة، لكل منها ثلاثة احتمالات (على سبيل المثال، يتم تصنيف الاحتمالات المستقبلية لكل معلمة عشوائية على أنها منخفضة ومتوسطة وعالية)، فإن العدد الإجمالي للسيناريوهات هوك=3د{\displaystyle K=3^{d}}إن هذا النمو الهائل في عدد السيناريوهات يجعل تطوير النماذج باستخدام آراء الخبراء أمراً بالغ الصعوبة حتى بالنسبة للأحجام المعقولة.د{\displaystyle d}ويزداد الوضع سوءًا إذا كانت بعض المكونات العشوائية منξ{\displaystyle \xi }لها توزيعات متصلة.

طريقة أخذ العينات مونت كارلو وتقريب متوسط ​​العينة (SAA)

يُعد استخدام محاكاة مونت كارلو أحد الأساليب الشائعة لتقليل مجموعة السيناريوهات إلى حجم يمكن التحكم فيه. لنفترض أن العدد الإجمالي للسيناريوهات كبير جدًا أو حتى لانهائي. ولنفترض أيضًا أنه يمكننا توليد عينةξ1،ξ2،...،ξشمال{\displaystyle \xi ^{1},\xi ^{2},\dots ,\xi ^{N}}لشمال{\displaystyle N}تحققات المتجه العشوائيξ{\displaystyle \xi }عادةً ما يُفترض أن العينة مستقلة وموزعة توزيعًا متطابقًا (عينة مستقلة ومتطابقة التوزيع). وبالنظر إلى عينة معينة، فإن دالة التوقع هيq(x)=هـ[سؤال(x،ξ)]{\displaystyle q(x)=E[Q(x,\xi )]}يتم تقريبها بواسطة متوسط ​​العينة

q^شمال(x)=1شمالج=1شمالسؤال(x،ξج){\displaystyle {\hat {q}}_{N}(x)={\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})}

وبالتالي، تُعطى مسألة المرحلة الأولى على النحو التالي:

ز^شمال(x)=مينxRنجتيx+1شمالج=1شمالسؤال(x،ξج)رهناً بـأx=بx0{\displaystyle {\begin{array}{rlrrr}{\hat {g}}_{N}(x)=&\min \limits _{x\in \mathbb {R} ^{n}}&c^{T}x+{\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})&\\&{\text{subject to}}&Ax&=&b\\&&x&\geq &0\end{array}}}

تُعرف هذه الصيغة باسم طريقة تقريب متوسط ​​العينة . وتُعد مشكلة تقريب متوسط ​​العينة دالةً للعينة المدروسة، وبالتالي فهي عشوائية. بالنسبة لعينة معينةξ1،ξ2،...،ξشمال{\displaystyle \xi ^{1},\xi ^{2},\dots ,\xi ^{N}}تتخذ مشكلة SAA نفس شكل مشكلة البرمجة الخطية العشوائية ذات المرحلتين مع السيناريوهات التالية:ξج{\displaystyle \xi ^{j}}،ج=1،...،شمال{\displaystyle j=1,\dots ,N}، كل منها مأخوذة بنفس الاحتماليةصج=1شمال{\displaystyle p_{j}={\frac {1}{N}}}.

الاستدلال الإحصائي

ضع في اعتبارك مسألة البرمجة العشوائية التالية

مينxX{ز(x)=و(x)+هـ[سؤال(x،ξ)]}{\displaystyle \min \limits _{x\in X}\{g(x)=f(x)+E[Q(x,\xi )]\}}

هناX{\displaystyle X}هي مجموعة فرعية مغلقة غير فارغة منRن{\displaystyle \mathbb {R} ^{n}}،ξ{\displaystyle \xi }هو متجه عشوائي توزيع احتمالاتهP{\displaystyle P}مدعوم على مجموعةΞRد{\displaystyle \Xi \subset \mathbb {R} ^{d}}، وسؤال:X×ΞR{\displaystyle Q:X\times \Xi \rightarrow \mathbb {R} }في إطار البرمجة العشوائية ذات المرحلتين،سؤال(x،ξ){\displaystyle Q(x,\xi )}يتم تحديدها من خلال القيمة المثلى لمسألة المرحلة الثانية المقابلة.

افترض أنز(x){\displaystyle g(x)}محددة جيدًا وذات قيمة محدودة لجميعxX{\displaystyle x\in X}وهذا يعني أنه لكلxX{\displaystyle x\in X}القيمةسؤال(x،ξ){\displaystyle Q(x,\xi )}هو محدود بشكل شبه مؤكد .

لنفترض أن لدينا عينةξ1،...،ξشمال{\displaystyle \xi ^{1},\dots ,\xi ^{N}}لشمال{\displaystyle N}تحققات المتجه العشوائيξ{\displaystyle \xi }يمكن اعتبار هذه العينة العشوائية بمثابة بيانات تاريخية لـشمال{\displaystyle N}ملاحظات حولξ{\displaystyle \xi }أو يمكن توليدها باستخدام تقنيات أخذ العينات مونت كارلو. عندئذٍ يمكننا صياغة تقريب متوسط ​​العينة المقابل.

مينxX{ز^شمال(x)=و(x)+1شمالج=1شمالسؤال(x،ξج)}{\displaystyle \min \limits _{x\in X}\{{\hat {g}}_{N}(x)=f(x)+{\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})\}}

بحسب قانون الأعداد الكبيرة ، لدينا أنه في ظل بعض شروط الانتظام1شمالج=1شمالسؤال(x،ξج){\displaystyle {\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})}يتقارب نقطيًا باحتمالية 1 إلىهـ[سؤال(x،ξ)]{\displaystyle E[Q(x,\xi )]}مثلشمال{\displaystyle N\rightarrow \infty }علاوة على ذلك، في ظل شروط إضافية بسيطة، يكون التقارب منتظمًا. لدينا أيضًاهـ[ز^شمال(x)]=ز(x){\displaystyle E[{\hat {g}}_{N}(x)]=g(x)}، أي،ز^شمال(x){\displaystyle {\hat {g}}_{N}(x)}هو مُقدِّر غير متحيز لـز(x){\displaystyle g(x)}لذلك، من الطبيعي أن نتوقع أن تتقارب القيمة المثلى والحلول المثلى لمسألة SAA مع نظيراتها في المسألة الحقيقية عندماشمال{\displaystyle N\rightarrow \infty }.

اتساق مقدرات SAA

لنفترض المجموعة الممكنةX{\displaystyle X}إن قيمة مشكلة SAA ثابتة، أي أنها مستقلة عن العينة. لنفترضϑ*{\displaystyle \vartheta ^{*}}وS*{\displaystyle S^{*}}ولتكن القيمة المثلى ومجموعة الحلول المثلى، على التوالي، للمسألة الحقيقية، ولتكنϑ^شمال{\displaystyle {\hat {\vartheta }}_{N}}وS^شمال{\displaystyle {\hat {S}}_{N}}لتكن القيمة المثلى ومجموعة الحلول المثلى، على التوالي، لمسألة SAA.

  1. يتركز:XR{\displaystyle g:X\rightarrow \mathbb {R} }وز^شمال:XR{\displaystyle {\hat {g}}_{N}:X\rightarrow \mathbb {R} }لتكن متتالية من الدوال الحقيقية (الحتمية). الخاصيتان التاليتان متكافئتان:
    • لأيx¯X{\displaystyle {\overline {x}}\in X}وأي تسلسل{xشمال}X{\displaystyle \{x_{N}\}\subset X}يتقارب إلىx¯{\displaystyle {\overline {x}}}ويترتب على ذلك أنز^شمال(xشمال){\displaystyle {\hat {g}}_{N}(x_{N})}يتقارب إلىز(x¯){\displaystyle g({\overline {x}})}
    • الوظيفةز(){\displaystyle g(\cdot )}مستمر علىX{\displaystyle X}وز^شمال(){\displaystyle {\hat {g}}_{N}(\cdot )}يتقارب إلىز(){\displaystyle g(\cdot )}بشكل منتظم على أي مجموعة فرعية مضغوطة منX{\displaystyle X}
  2. إذا كان هدف مشكلة SAAز^شمال(x){\displaystyle {\hat {g}}_{N}(x)}يتقارب مع هدف المشكلة الحقيقيةز(x){\displaystyle g(x)}باحتمالية 1، كماشمال{\displaystyle N\rightarrow \infty }، بشكل منتظم على المجموعة الممكنةX{\displaystyle X}. ثمϑ^شمال{\displaystyle {\hat {\vartheta }}_{N}}يتقارب إلىϑ*{\displaystyle \vartheta ^{*}}باحتمالية 1شمال{\displaystyle N\rightarrow \infty }.
  3. لنفترض أن هناك مجموعة مضغوطةجRن{\displaystyle C\subset \mathbb {R} ^{n}}بحيث
    • المجموعةS{\displaystyle S}مجموعة الحلول المثلى للمسألة الحقيقية غير فارغة ومحتواة فيج{\displaystyle C}
    • الوظيفةز(x){\displaystyle g(x)}دالة ذات قيم محدودة ومتصلة علىج{\displaystyle C}
    • تسلسل الوظائفز^شمال(x){\displaystyle {\hat {g}}_{N}(x)}يتقارب إلىز(x){\displaystyle g(x)}باحتمالية 1، كماشمال{\displaystyle N\rightarrow \infty }، بشكل موحد فيxج{\displaystyle x\in C}
    • لشمال{\displaystyle N}كبيرة بما يكفي للمجموعةS^شمال{\displaystyle {\hat {S}}_{N}}غير فارغ وS^شمالج{\displaystyle {\hat {S}}_{N}\subset C}باحتمالية 1
ثمϑ^شمالϑ*{\displaystyle {\hat {\vartheta }}_{N}\rightarrow \vartheta ^{*}}ود(S*،S^شمال)0{\displaystyle \mathbb {D} (S^{*},{\hat {S}}_{N})\rightarrow 0}باحتمالية 1شمال{\displaystyle N\rightarrow \infty }. لاحظ أند(أ،ب){\displaystyle \mathbb {D} (A,B)}يشير إلى انحراف المجموعةأ{\displaystyle A}من المجموعةب{\displaystyle B}، كما هو مُعرَّف
د(أ،ب):=رشفةxأ{معلوماتxبx-x}{\displaystyle \mathbb {D} (A,B):=\sup _{x\in A}\{\inf _{x'\in B}\|x-x'\|\}}

في بعض الحالات، تكون المجموعة الممكنةX{\displaystyle X}إذا تم تقدير مسألة SAA، فإن مسألة SAA المقابلة تأخذ الشكل التالي

مينxXشمالز^شمال(x){\displaystyle \min _{x\in X_{N}}{\hat {g}}_{N}(x)}

أينXشمال{\displaystyle X_{N}}هي مجموعة فرعية منRن{\displaystyle \mathbb {R} ^{n}}يعتمد ذلك على العينة، وبالتالي فهو عشوائي. ومع ذلك، لا يزال من الممكن استخلاص نتائج الاتساق لمُقدِّرات SAA في ظل بعض الافتراضات الإضافية:

  1. لنفترض أن هناك مجموعة مضغوطةجRن{\displaystyle C\subset \mathbb {R} ^{n}}بحيث
    • المجموعةS{\displaystyle S}مجموعة الحلول المثلى للمسألة الحقيقية غير فارغة ومحتواة فيج{\displaystyle C}
    • الوظيفةز(x){\displaystyle g(x)}دالة ذات قيم محدودة ومتصلة علىج{\displaystyle C}
    • تسلسل الوظائفز^شمال(x){\displaystyle {\hat {g}}_{N}(x)}يتقارب إلىز(x){\displaystyle g(x)}باحتمالية 1، كماشمال{\displaystyle N\rightarrow \infty }، بشكل موحد فيxج{\displaystyle x\in C}
    • لشمال{\displaystyle N}كبيرة بما يكفي للمجموعةS^شمال{\displaystyle {\hat {S}}_{N}}غير فارغ وS^شمالج{\displaystyle {\hat {S}}_{N}\subset C}باحتمالية 1
    • لوxشمالXشمال{\displaystyle x_{N}\in X_{N}}وxشمال{\displaystyle x_{N}}يتقارب باحتمالية 1 إلى نقطةx{\displaystyle x}، ثمxX{\displaystyle x\in X}
    • إلى حد ماxS*{\displaystyle x\in S^{*}}يوجد تسلسلxشمالXشمال{\displaystyle x_{N}\in X_{N}}بحيثxشمالx{\displaystyle x_{N}\rightarrow x}باحتمالية 1.
ثمϑ^شمالϑ*{\displaystyle {\hat {\vartheta }}_{N}\rightarrow \vartheta ^{*}}ود(S*،S^شمال)0{\displaystyle \mathbb {D} (S^{*},{\hat {S}}_{N})\rightarrow 0}باحتمالية 1شمال{\displaystyle N\rightarrow \infty }.

السلوك التقاربي للقيمة المثلى لـ SAA

لنفترض العينةξ1،...،ξشمال{\displaystyle \xi ^{1},\dots ,\xi ^{N}}هي مستقلة ومتطابقة التوزيع، وحدد نقطةxX{\displaystyle x\in X}ثم مقدر متوسط ​​العينةز^شمال(x){\displaystyle {\hat {g}}_{N}(x)}، لز(x){\displaystyle g(x)}، وهو غير متحيز وله تباين1شمالσ2(x){\displaystyle {\frac {1}{N}}\sigma ^{2}(x)}، أينσ2(x):=Vأر[سؤال(x،ξ)]{\displaystyle \sigma ^{2}(x):=Var[Q(x,\xi )]}من المفترض أن تكون محدودة. علاوة على ذلك، وبحسب نظرية النهاية المركزية، لدينا أن

شمال[ز^شمال-ز(x)]دYx{\displaystyle {\sqrt {N}}[{\hat {g}}_{N}-g(x)]{\xrightarrow {\mathcal {D}}}Y_{x}}

أيند{\displaystyle {\xrightarrow {\mathcal {D}}}}يشير إلى التقارب في التوزيع وYx{\displaystyle Y_{x}}يتبع التوزيع الطبيعي بمتوسط0{\displaystyle 0}والتباينσ2(x){\displaystyle \sigma ^{2}(x)}، مكتوبة على النحو التاليشمال(0،σ2(x)){\displaystyle {\mathcal {N}}(0,\sigma ^{2}(x))}.

بعبارة أخرى،ز^شمال(x){\displaystyle {\hat {g}}_{N}(x)}له توزيع طبيعي تقاربياً ، أي بالنسبة للقيم الكبيرةشمال{\displaystyle N}،ز^شمال(x){\displaystyle {\hat {g}}_{N}(x)}يتبع توزيعًا طبيعيًا تقريبًا بمتوسطز(x){\displaystyle g(x)}والتباين1شمالσ2(x){\displaystyle {\frac {1}{N}}\sigma ^{2}(x)}وهذا يؤدي إلى ما يلي (تقريبًا)100(1-α){\displaystyle 100(1-\alpha )}النسبة المئوية لفترة الثقة لـو(x){\displaystyle f(x)}:

[ز^شمال(x)-zα/2σ^(x)شمال،ز^شمال(x)+zα/2σ^(x)شمال]{\displaystyle \left[{\hat {g}}_{N}(x)-z_{\alpha /2}{\frac {{\hat {\sigma }}(x)}{\sqrt {N}}},{\hat {g}}_{N}(x)+z_{\alpha /2}{\frac {{\hat {\sigma }}(x)}{\sqrt {N}}}\right]}

أينzα/2:=Φ-1(1-α/2){\displaystyle z_{\alpha /2}:=\Phi ^{-1}(1-\alpha /2)}(هناΦ(){\displaystyle \Phi (\cdot )}(يشير إلى دالة التوزيع التراكمي للتوزيع الطبيعي القياسي) و

σ^2(x):=1شمال-1ج=1شمال[سؤال(x،ξج)-1شمالج=1شمالسؤال(x،ξج)]2{\displaystyle {\hat {\sigma }}^{2}(x):={\frac {1}{N-1}}\sum _{j=1}^{N}\left[Q(x,\xi ^{j})-{\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})\right]^{2}}

هو تقدير تباين العينة لـσ2(x){\displaystyle \sigma ^{2}(x)}أي أن خطأ تقديرز(x){\displaystyle g(x)}هو (احتماليًا) من الرتبةيا(شمال){\displaystyle O({\sqrt {N}})}.

التطبيقات والأمثلة

التطبيقات البيولوجية

تُستخدم البرمجة الديناميكية العشوائية بكثرة لنمذجة سلوك الحيوانات في مجالات مثل علم البيئة السلوكي . [ 8 ] [ 9 ] وقد أظهرت الاختبارات التجريبية لنماذج البحث الأمثل عن الغذاء ، ومراحل التحول في دورة حياة الحيوانات مثل مرحلة الترييش لدى الطيور ووضع البيض لدى الدبابير الطفيلية ، أهمية هذه التقنية في تفسير تطور عملية اتخاذ القرارات السلوكية. وعادةً ما تكون هذه النماذج متعددة المراحل، وليست ثنائية المراحل.

التطبيقات الاقتصادية

تُعدّ البرمجة الديناميكية العشوائية أداةً مفيدةً لفهم عملية اتخاذ القرارات في ظلّ عدم اليقين. ويُعدّ تراكم رأس المال في ظلّ عدم اليقين مثالاً على ذلك؛ إذ يستخدمها خبراء اقتصاديات الموارد غالبًا لتحليل المشكلات الاقتصادية الحيوية [ 10 ] التي يدخل فيها عدم اليقين، مثل تقلبات الطقس، وما إلى ذلك.

مثال: تحسين المحفظة الاستثمارية متعددة المراحل

فيما يلي مثال من مجال التمويل على البرمجة العشوائية متعددة المراحل. لنفترض أنه في الوقتت=0{\displaystyle t=0}لدينا رأس مال أوليدبليو0{\displaystyle W_{0}}للاستثمار فين{\displaystyle n}الأصول. لنفترض كذلك أنه يُسمح لنا بإعادة توازن محفظتنا في أوقاتت=1،...،تي-1{\displaystyle t=1,\dots ,T-1}ولكن دون ضخ أموال إضافية فيه. في كل فترةت{\displaystyle t}نتخذ قراراً بشأن إعادة توزيع الثروة الحاليةدبليوت{\displaystyle W_{t}}من بينن{\displaystyle n}الأصول. دعx0=(x10،...،xن0){\displaystyle x_{0}=(x_{10},\dots ,x_{n0})}لنفترض أن المبالغ الأولية المستثمرة في الأصول n هي. نشترط أن يكون كلxأنا0{\displaystyle x_{i0}}وهي غير سالبة وأن معادلة التوازنأنا=1نxأنا0=دبليو0{\displaystyle \sum _{i=1}^{n}x_{i0}=W_{0}}ينبغي أن يستمر.

ضع في اعتبارك إجمالي العوائدξت=(ξ1ت،...،ξنت){\displaystyle \xi _{t}=(\xi _{1t},\dots ,\xi _{nt})}لكل فترةت=1،...،تي{\displaystyle t=1,\dots ,T}يشكل هذا عملية عشوائية ذات قيم متجهةξ1،...،ξتي{\displaystyle \xi _{1},\dots ,\xi _{T}}في فترة زمنيةت=1{\displaystyle t=1}يمكننا إعادة توازن المحفظة عن طريق تحديد المبالغx1=(x11،...،xن1){\displaystyle x_{1}=(x_{11},\dots ,x_{n1})}تم استثمارها في الأصول المعنية. في ذلك الوقت، تكون العوائد في الفترة الأولى قد تحققت، لذا من المعقول استخدام هذه المعلومات في قرار إعادة التوازن. وبالتالي، فإن قرارات المرحلة الثانية، في ذلك الوقتت=1{\displaystyle t=1}، هي في الواقع دوال لتحقيق المتجه العشوائيξ1{\displaystyle \xi _{1}}، أي،x1=x1(ξ1){\displaystyle x_{1}=x_{1}(\xi _{1})}وبالمثل، في وقتت{\displaystyle t}القرارxت=(x1ت،...،xنت){\displaystyle x_{t}=(x_{1t},\dots ,x_{nt})}هي دالةxت=xت(ξ[ت]){\displaystyle x_{t}=x_{t}(\xi _{[t]})}من المعلومات المتاحة المقدمة منξ[ت]=(ξ1،...،ξت){\displaystyle \xi _{[t]}=(\xi _{1},\dots ,\xi _{t})}تاريخ العملية العشوائية حتى وقتت{\displaystyle t}سلسلة من الوظائفxت=xت(ξ[ت]){\displaystyle x_{t}=x_{t}(\xi _{[t]})}،ت=0،...،تي-1{\displaystyle t=0,\dots ,T-1}، معx0{\displaystyle x_{0}}يُحدد ثبات هذه الخاصية سياسة قابلة للتنفيذ في عملية اتخاذ القرار. ويُقال إن هذه السياسة قابلة للتطبيق إذا استوفت قيود النموذج باحتمالية 1، أي قيود عدم السلبية.xأنات(ξ[ت])0{\displaystyle x_{it}(\xi _{[t]})\geq 0}،أنا=1،...،ن{\displaystyle i=1,\dots ,n}،ت=0،...،تي-1{\displaystyle t=0,\dots ,T-1}وتوازن قيود الثروة،

أنا=1نxأنات(ξ[ت])=دبليوت،{\displaystyle \sum _{i=1}^{n}x_{it}(\xi _{[t]})=W_{t},}

أين في الفترةت=1،...،تي{\displaystyle t=1,\dots ,T}الثروةدبليوت{\displaystyle W_{t}}يُعطى بواسطة

دبليوت=أنا=1نξأناتxأنا،ت-1(ξ[ت-1])،{\displaystyle W_{t}=\sum _{i=1}^{n}\xi _{it}x_{i,t-1}(\xi _{[t-1]}),}

والذي يعتمد على تحقق العملية العشوائية والقرارات المتخذة حتى وقت معينت{\displaystyle t}.

لنفترض أن الهدف هو تعظيم المنفعة المتوقعة لهذه الثروة في الفترة الأخيرة، أي النظر في المشكلة

الأعلىهـ[يو(دبليوتي)].{\displaystyle \max E[U(W_{T})].}

هذه مسألة برمجة عشوائية متعددة المراحل، حيث يتم ترقيم المراحل منت=0{\displaystyle t=0}لت=تي-1{\displaystyle t=T-1}تُجرى عملية التحسين على جميع السياسات القابلة للتنفيذ والممكنة. ولإكمال وصف المشكلة، يلزم أيضًا تحديد التوزيع الاحتمالي للعملية العشوائية.ξ1،...،ξتي{\displaystyle \xi _{1},\dots ,\xi _{T}}يمكن القيام بذلك بطرق مختلفة. على سبيل المثال، يمكن إنشاء شجرة سيناريوهات محددة تُعرّف التطور الزمني للعملية. إذا سُمح في كل مرحلة للعائد العشوائي لكل أصل بأن يكون له استمراران، مستقلان عن الأصول الأخرى، فإن العدد الإجمالي للسيناريوهات هو2نتي.{\displaystyle 2^{nT}.}

لكتابة معادلات البرمجة الديناميكية ، يجب النظر إلى المسألة متعددة المراحل المذكورة أعلاه بشكل عكسي في الزمن. في المرحلة الأخيرةت=تي-1{\displaystyle t=T-1}، إدراكξ[تي-1]=(ξ1،...،ξتي-1){\displaystyle \xi _{[T-1]}=(\xi _{1},\dots ,\xi _{T-1})}إن طبيعة العملية العشوائية معروفة وxتي-2{\displaystyle x_{T-2}}تم اختيارها. لذلك، يجب حل المشكلة التالية

الأعلىxتي-1هـ[يو(دبليوتي)|ξ[تي-1]]رهناً بـدبليوتي=أنا=1نξأناتيxأنا،تي-1أنا=1نxأنا،تي-1=دبليوتي-1xتي-10{\displaystyle {\begin{array}{lrclr}\max \limits _{x_{T-1}}&E[U(W_{T})|\xi _{[T-1]}]&\\{\text{subject to}}&W_{T}&=&\sum _{i=1}^{n}\xi _{iT}x_{i,T-1}\\&\sum _{i=1}^{n}x_{i,T-1}&=&W_{T-1}\\&x_{T-1}&\geq &0\end{array}}}

أينهـ[يو(دبليوتي)|ξ[تي-1]]{\displaystyle E[U(W_{T})|\xi _{[T-1]}]}يشير إلى التوقع الشرطي لـيو(دبليوتي){\displaystyle U(W_{T})}منحξ[تي-1]{\displaystyle \xi _{[T-1]}}تعتمد القيمة المثلى للمسألة المذكورة أعلاه علىدبليوتي-1{\displaystyle W_{T-1}}وξ[تي-1]{\displaystyle \xi _{[T-1]}}ويُشار إليه بـسؤالتي-1(دبليوتي-1،ξ[تي-1]){\displaystyle Q_{T-1}(W_{T-1},\xi _{[T-1]})}.

وبالمثل، في المراحلت=تي-2،...،1{\displaystyle t=T-2,\dots ,1}ينبغي على المرء حل المشكلة

الأعلىxتهـ[سؤالت+1(دبليوت+1،ξ[ت+1])|ξ[ت]]رهناً بـدبليوت+1=أنا=1نξأنا،ت+1xأنا،تأنا=1نxأنا،ت=دبليوتxت0{\displaystyle {\begin{array}{lrclr}\max \limits _{x_{t}}&E[Q_{t+1}(W_{t+1},\xi _{[t+1]})|\xi _{[t]}]&\\{\text{subject to}}&W_{t+1}&=&\sum _{i=1}^{n}\xi _{i,t+1}x_{i,t}\\&\sum _{i=1}^{n}x_{i,t}&=&W_{t}\\&x_{t}&\geq &0\end{array}}}

والتي يُرمز إلى قيمتها المثلى بـسؤالت(دبليوت،ξ[ت]){\displaystyle Q_{t}(W_{t},\xi _{[t]})}وأخيرًا، في المرحلةت=0{\displaystyle t=0}، يحل المرء المشكلة

الأعلىx0هـ[سؤال1(دبليو1،ξ[1])]رهناً بـدبليو1=أنا=1نξأنا،1xأنا0أنا=1نxأنا0=دبليو0x00{\displaystyle {\begin{array}{lrclr}\max \limits _{x_{0}}&E[Q_{1}(W_{1},\xi _{[1]})]&\\{\text{subject to}}&W_{1}&=&\sum _{i=1}^{n}\xi _{i,1}x_{i0}\\&\sum _{i=1}^{n}x_{i0}&=&W_{0}\\&x_{0}&\geq &0\end{array}}}

عملية عشوائية مستقلة على مراحل

لتوزيع عام للعمليةξت{\displaystyle \xi _{t}}قد يكون من الصعب حل معادلات البرمجة الديناميكية هذه. يتبسط الوضع بشكل كبير إذا كانت العمليةξت{\displaystyle \xi _{t}}مستقل عن المرحلة، أيξت{\displaystyle \xi _{t}}مستقل (احتماليًا) عنξ1،...،ξت-1{\displaystyle \xi _{1},\dots ,\xi _{t-1}}لت=2،...،تي{\displaystyle t=2,\dots ,T}في هذه الحالة، تتحول التوقعات الشرطية المقابلة إلى توقعات غير مشروطة، وتصبح الدالةسؤالت(دبليوت){\displaystyle Q_{t}(W_{t})}،ت=1،...،تي-1{\displaystyle t=1,\dots ,T-1}لا يعتمد علىξ[ت]{\displaystyle \xi _{[t]}}. إنه،سؤالتي-1(دبليوتي-1){\displaystyle Q_{T-1}(W_{T-1})}هي القيمة المثلى للمسألة

الأعلىxتي-1هـ[يو(دبليوتي)]رهناً بـدبليوتي=أنا=1نξأناتيxأنا،تي-1أنا=1نxأنا،تي-1=دبليوتي-1xتي-10{\displaystyle {\begin{array}{lrclr}\max \limits _{x_{T-1}}&E[U(W_{T})]&\\{\text{subject to}}&W_{T}&=&\sum _{i=1}^{n}\xi _{iT}x_{i,T-1}\\&\sum _{i=1}^{n}x_{i,T-1}&=&W_{T-1}\\&x_{T-1}&\geq &0\end{array}}}

وسؤالت(دبليوت){\displaystyle Q_{t}(W_{t})}هي القيمة المثلى لـ

الأعلىxتهـ[سؤالت+1(دبليوت+1)]رهناً بـدبليوت+1=أنا=1نξأنا،ت+1xأنا،تأنا=1نxأنا،ت=دبليوتxت0{\displaystyle {\begin{array}{lrclr}\max \limits _{x_{t}}&E[Q_{t+1}(W_{t+1})]&\\{\text{subject to}}&W_{t+1}&=&\sum _{i=1}^{n}\xi _{i,t+1}x_{i,t}\\&\sum _{i=1}^{n}x_{i,t}&=&W_{t}\\&x_{t}&\geq &0\end{array}}}

لت=تي-2،...،1{\displaystyle t=T-2,\dots ,1}.

أدوات البرمجيات

لغات النمذجة

يمكن تمثيل جميع مسائل البرمجة العشوائية المنفصلة باستخدام أي لغة نمذجة جبرية ، مع تطبيق عدم الاستباق الصريح أو الضمني يدويًا لضمان احترام النموذج الناتج لبنية المعلومات المتاحة في كل مرحلة. عادةً ما يزداد حجم مثال مسألة البرمجة العشوائية المُولَّدة بواسطة لغة نمذجة عامة (بشكل خطي مع عدد السيناريوهات)، وتفقد مصفوفة هذا المثال البنية المتأصلة في هذا النوع من المسائل، والتي يمكن استغلالها أثناء الحل بواسطة خوارزميات تفكيك محددة. بدأت تظهر امتدادات للغات النمذجة المصممة خصيصًا للبرمجة العشوائية، انظر:

  • AIMMS – يدعم تعريف مشاكل البرمجة الرياضية
  • EMP SP (البرمجة الرياضية الموسعة للبرمجة العشوائية) - وحدة من GAMS تم إنشاؤها لتسهيل البرمجة العشوائية (تتضمن كلمات مفتاحية للتوزيعات البارامترية، وقيود الاحتمالات، ومقاييس المخاطر مثل القيمة المعرضة للخطر والعجز المتوقع ).
  • SAMPL - مجموعة من الامتدادات لـ AMPL مصممة خصيصًا للتعبير عن البرامج العشوائية (تتضمن بناء الجملة لقيود الاحتمال، وقيود الاحتمال المتكاملة، ومسائل التحسين القوي ).

كلاهما قادر على إنشاء تنسيق على مستوى مثيل SMPS، والذي ينقل بشكل غير متكرر بنية المشكلة إلى المُحلِّل.

انظر أيضاً

مراجع

  1. شابيرو، ألكسندر؛ دينتشيفا، دارينكا ؛ روسزتشينسكي، أندريه (2009). محاضرات في البرمجة العشوائية: النمذجة والنظرية (ملف PDF) . سلسلة MPS/SIAM في التحسين. المجلد  9. فيلادلفيا، بنسلفانيا: جمعية الرياضيات الصناعية والتطبيقية وجمعية البرمجة الرياضية. الصفحات:  436 + 16 صفحة. ISBN 978-0-89871-687-0MR 2562798. مؤرشف من الأصل (PDF) بتاريخ 24-03-2020 . تم الاطلاع عليه بتاريخ 22-09-2010 . 
  2. بيرج، جون ر.؛ لوفو، فرانسوا (2011). مقدمة في البرمجة العشوائية . سلسلة سبرينغر في بحوث العمليات والهندسة المالية. doi : 10.1007/978-1-4614-0237-4 . ISBN 978-1-4614-0236-7ISSN 1431-8598 
  3. شتاين دبليو. والاس وويليام تي. زيمبا (محرران). تطبيقات البرمجة العشوائية . سلسلة كتب MPS-SIAM حول التحسين 5، 2005.
  4. يتم وصف تطبيقات البرمجة العشوائية على الموقع الإلكتروني التالي، مجتمع البرمجة العشوائية .
  5. شابيرو، ألكسندر؛ فيلبوت، آندي. دليل تعليمي حول البرمجة العشوائية (ملف PDF) .
  6. "خادم NEOS للتحسين" .
  7. روسزتشينسكي، أندريه ؛ شابيرو، ألكسندر (2003). البرمجة العشوائية . كتيبات في بحوث العمليات وعلوم الإدارة. المجلد 10. فيلادلفيا: إلسيفير . ص 700. ISBN   978-0444508546.
  8. مانجل، م. وكلارك، سي دبليو 1988. النمذجة الديناميكية في علم البيئة السلوكي. مطبعة جامعة برينستون، رقم ISBN 0-691-08506-4
  9. هيوستن، أ. آي. وماكنمارا، ج. م. 1999. نماذج السلوك التكيفي: منهج قائم على الحالة . مطبعة جامعة كامبريدج، رقم ISBN 0-521-65539-0
  10. Howitt, R., Msangi, S., Reynaud, A and K. Knapp. 2002. "استخدام التقريبات متعددة الحدود لحل مسائل البرمجة الديناميكية العشوائية: أو نهج "بيتي كروكر" للبرمجة الديناميكية العشوائية." جامعة كاليفورنيا، ديفيس، قسم الاقتصاد الزراعي والموارد، ورقة عمل.

للمزيد من القراءة