برمجة عشوائية
في مجال النمذجه , تعتبر البرمجه العشوائيه الهيكل الاساسي لحل المشاكل المتعلقه بالنمذجه القائمه علي عدم التأكد . في حين ان مشاكل النمذجه المحدده تصاغ بأستخدام بارامترات معلومه .ان مشاكل الواقع تشمل بعض البارامترات الغير معلومه ,في حاله وقوع البارامترات ضمن حدود معينه ; يكون هناك طريقه واحدة لحل هذا النوع من المشاكل تسمى النمذجه القويه(Robust Optimization) 
الهدف من البرمجه العشوائيه هو العثور علي حل مناسب و أمثل لجميع البيانات. نماذج البرمجه العشوائيه متشابهه في الاسلوب لكن تأخذ في عين الاعتبار حقيقه ان التوزيعات الاحتماليه التى تحكم البيانات معلومه او يمكن حسابها.
الهدف هنا هو ايجاد خطه مناسبه لكل او بالكاد كل البيانات وهذه الخطه تتوقع بعض القرارات و المتغيرات العشوائيه.عموما هذة النماذج تتم صياغتها و حلها نظريا و عدديا و تحليلها لتوفير معلومات مفيدة لمتخذي القرار.
الفكره الاساسيه القائم عليها مشاكل البرمجه العشوائيه ذات المرحلتين هي ان القرارات المثلى يجب ان تكون قائمه علي البيانات المتاحه في الوقت الذي تم فيه اتخاذ القرار و يجب ان لا تعتمد علي الملاحظات المستقبليه.
الصيغه العامه لمشاكل ذات المرحلتين توصف كالتالي
formula_1
حيث formula_2 هي القيمه المثلى للمشكله ذات المرحله الثانيه
formula_3
مشاكل البرمجه الخطيه العشوائيه يمكن صياغتها كالاتي
formula_4
حيث formula_2 هي القيمه المثلى للمشكله ذات المرحله الثانيه
formula_6
في هذه الصيغه formula_7 هو المتجه الخاص بمتغيرات القرار في المرحله الاولي و formula_8 هو المتجه الخاص بـمتغيرات القرار في المرحله الثانيه. في هذه الصيغه ; في حاله المرحله الاولي نكون بحاجه لأتخاذ قرار formula_9 حالا قبل ادراك المعلومات الغير مؤكدة formula_10. في المرحله الثانيه بعد ادراك formula_10, نقوم بتحسين الاداء عن طريق حل المشكله المناسبه.
في الخطوة الاولي نقوم بأمثله الـ formula_12 الخاص ب المرحله الاولي الي جانب الـ formula_12 الخاص بالمرحله الثانيه و وهذا يمكننا من عرض مشاكل المرحله الثانيه علي انها مشكله نمذجه حيث انها تقوم بوصف الحل الافتراضي الامثل في حاله ان تكون المعلومات غير مؤكدة.
صياغه مشاكل المرحلتين التي تم شرحها مسبقا تفترض ان المعلومات الخاصه بالمرحله الثانيه يمكن وصفها علي انها متجه عشوائي ذات توزيع احتمالى معلوم . علي سبيل المثال formula_10 من الممكن ان يكون معلومات تم الوصول اليها عن طريق معلومات مسبقه مع العلم ان التوزيع لم يتغيرمع طول الفترة الزمنيه . في مثل هذه الحالات من الممكن حساب التوزيع الاحتمالي المطلوب والقيام بالنمذجه و يمكن ان تفسر بأستخدام قانون الارقام الكبيرة.
لحل مشاكل النمذجه العشوائيه ذات المرحلتين عددياً , نحتاج غالبا لفرض ان المتجه العشوائي يحتوي علي عدد من الحالات الممكنه المسماه بسيناريوهات حيث ان formula_15 مناظره للاحتمالات formula_16 
و بذلك ممكن ان تصاغ داله الهدف(Objective function) الاتي :
formula_17
و بالمثل مشاكل المرحله الثانيه ممكن ان تصاغ كمشكله برمجه خطيه كبيرة (وهذا ما يطلق عليه التحديد المكافئ للمشكله العشوائيه).
هي حاله خاصه بمشاكل المرحلتين الاعتياديه للبرمجه العشوائيه . البرمجه العشوائيه الخطيه قائمه علي تجميع المشاكل الخطيه ذات الفترات المتعددة كل منها له نفس البناء لكن بأختلاف بسيط في البيانات . البرمجه الخطيه ذات الفترتين تقوم بعرض الـformula_18 سيناريو في الصيغه الاتيه:
formula_19
المتجهين formula_9 و formula_21 يشملان متغيرات الفترة الاولي حيث انه يجب اختيار قيمتهم فورا . المتجه formula_22 يحتوي علي جميع المتغيرات للفترات التاليه. القيود formula_23 تشمل متغيرات الفتره الاولى ولا تتغير من سيناريو لاخر , القيود الخرى تتضمن متغيرات الفترات الاخرى و تختلف من سيناريو لاخر و تعكس عدم التأكد من المستقبل
بأستخدام عدد محدود من السيناريوهات , يمكن وصف مشاكل البرمجه الخطيه العشوائيه ذات المرحلتين علي انها مشاكل برمجه خطيه كبيرة. هذه الصيغه غالبا ما يطلق عليها التحديد المكافئ للمشكله العشوائيه . 
التحديد المكافئ هو اي عمليه حسابيه يمكن ان تستخدم لحساب الحل الامثل للمرحله الاولى. علي سبيل المثال نجعل الاحتماليه formula_25 لكل سيناريو حيث formula_26 ثم نقوم بتقليل القيمه المتوقعه للهدف كالأتي
formula_27
لكل سيناريو formula_28 يوجد متجه formula_22 مختلف و المتغيرات formula_9 و formula_21 لا تتغير من سيناريو لاخر.
من الممكن بناء سيناريوهات عن طريق أراء خبير.يجب ان يكون عدد السيناريوهات معتدل ليكون من السهل حلها بمجهود اقل. غالبا ما يكون الحل الامثل القائم علي بعض السيناريوهات يوفر خطط احسن سيناريو واحد.
في نظريه اخري بعض القياسات تم حسابها لضمان ان الحل الذي تم الحصول عليه يقوم بحل المشكله الاصليه بدقه مناسبه . عادة في التطبيقات , الحل الامثل للمرحله الاولي فقط هو قيمه معينه.
نفترض ان formula_10 تشمل formula_33 عناصر عشوائيه مستقله , كل منها له ثلاث حالات ممكنه لذلك يكون عدد السيناريوهات formula_34 .النموالطبيعى لعدد السيناريوهات يجعل تحسين النماذج بالاستناد الي رأي خبير صعب للغايه .
تستخدم طريقه مونت كارلو لتقليل السيناريوهات لحجم معقول. بفرض ان العدد السيناريوهات كبير جدا او حتي لا نهائي و بفرض ايضا اننا نستطيع استخراج عينات formula_35 لعدد formula_36 من التكرارات للمتجه العشوائي formula_10
formula_38
حيث ان المشكله ذات المرحله الاولي تصاغ كالأتي
formula_39
و تعرف هذه الصيغه بتقريب متوسط العينه
بفرض ان مشكله البرمجه العشوائيه تكون كالتالي
بفرض ان هناك عينات formula_40 لعدد formula_36 حلول للمتجه العشوائي formula_10 . العينه العشوائيه من الممكن ان توصف علي انها معطيات سابقه لعدد formula_36 ملاحظات لformula_10 او يمكن استنباطها بطريقه مونت كارلو ويمكن صياغه تقريب متوسط العينه كالأتي :
بفرض ان مجموعه formula_45 من مشاكل تقريب متوسط العينه ثابته ,بمعنى ان تكون مستقله عن العينه . وبجعل formula_46 و formula_47 القيمه الامثل و المجموعه الامثل للحلول بالترتيب.البرمجه الديناميكيه العشوائيه تستخدم لنمذجه سلوك الحيوان في مجالات مختلفه مثل البيئه السلوكيه . الاختبارات التجريبيه لنمذجه السلوك الامثل للبحث عن المؤن , التحولات الحياتيه مثل الطيور الوليده او وضع البيض في الطفيليات و اظهرت نتائج النمذجه في شرح تطور عمليه اخذ القرار السلوكي. هذه النماذج عاده ما تكون متعدده المراحل وليس مرحلتين فقط.
- التطبيقات الاقتصاديه :
البرمجه الديناميكيه العشوائي اداه مهمه في فهم عمليه اتخاذ القرار تحت ظرف عدم التأكد . تراكم رأس المال في حاله عدم التأكد تعتبر مثال . عاده ما يستخدم من قبل الاقتصاديين لتحليل المشاكل الحيويه الاقتصاديه و التى يدخل فيها عدم التأكد مثل المناخ.
https://en.wikipedia.org/wiki/Stochastic_programming