برمجة عشوائية  في مجال النمذجة، تعتبر البرمجة العشوائيه الهيكل الاساسي لحل المشاكل المتعلقه بالنمذجة القائمة علي عدم التأكد. في حين ان مشاكل النمذجة المحدده تصاغ باستخدام بارامترات معلومه.ان مشاكل الواقع تشمل بعض البارامترات الغير معلومه، في حاله وقوع البارامترات ضمن حدود معينه ; يكون هناك طريقه واحدة لحل هذا النوع من المشاكل تسمى النمذجة القويه (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 القيمة الامثل والمجموعه الامثل للحلول بالترتيب.   البرمجة الديناميكيه العشوائيه تستخدم لنمذجه سلوك الحيوان في مجالات مختلفه مثل البيئة السلوكيه. الاختبارات التجريبيه لنمذجه السلوك الامثل للبحث عن المؤن، التحولات الحياتيه مثل الطيور الوليده أو وضع البيض في الطفيليات واظهرت نتائج النمذجة في شرح تطور عمليه أخذ القرار السلوكي. هذه النماذج عاده ما تكون متعدده المراحل وليس مرحلتين فقط.  - التطبيقات الاقتصاديه: البرمجة الديناميكيه العشوائي اداه مهمه في فهم عمليه اتخاذ القرار تحت ظرف عدم التأكد. تراكم رأس المال في حاله عدم التأكد تعتبر مثال. عاده ما يستخدم من قبل الاقتصاديين لتحليل المشاكل الحيويه الاقتصاديه والتي يدخل فيها عدم التأكد مثل المناخ.