You are on page 1of 10

‫صياغة وحل نماذج البرمجة الخطية الجداول‬

‫اللكترونية )‪(Excel‬‬

‫الخلصاة‪:‬‬
‫يهدف هذا البحث الى ابراز اهمية استخدام الجداول اللكترونية لحل كثير من مشاكل‬
‫القاتصادين ومتخذي القرار بصفة عامة ولطلبا الجامعات بصفة خاصة ‪ ،‬حيث تساهم الجداول‬
‫اللكترونية في تقليل الكثير من الصعوبات التي تواجه الطلبة في صعوبة الحصول على‬
‫البرامجيات الجاهزة )‪ (Software‬الخاصة بالتحليل الكمي ‪ ،‬وايضا لصعوبة فهمها ومعرفة كيفية‬
‫تطبيقها حيث يستغرق ذلك وقاتا طويل لستيعابها وكذلك لرتفاع ثمنها‪.‬‬
‫وتستخدم الجداول اللكترونية في حل الكثير من نماذج البرمجة الخطية الواقاعية في‬
‫مجالت متعددة مثل تخصيص الموارد ‪،‬جدولة النتاج ‪ ،‬اتخاذ الق اررات الدارية ‪ ،‬حل مسائل النقل‬
‫‪ ....‬حيث تمتاز الجداول اللكترونية بسهولة استيعابها وتطبيقها حتى للذين ليس لهم دراية كافية‬
‫بالسس والخلفية الرياضية بنماذج البرمجة الخطية و التحليل الكمي‪.‬‬
‫ويتضمن البحث مثالل عمليا لتوضيح اهمية استخدام هذا السلوبا‬

‫‪- 1‬المقدمة ‪:‬‬


‫ان نماذج البرمجة الخطية استخدمت في الكثير من المشاكل القاتصادية سواء كانت‬
‫انتاجية او تمويلية او ادارية ‪ ،‬ففي الول تساعد البرمجة الخطية في حل مشكلت تخصيص الموارد‬
‫النادرة بين الستخدامات البديلة بحيث يتحقق عن هذا التوزيع الحد القاصى من الكفاءة ‪ .‬كما‬
‫تستخدم في نماذج البرمجة الخطية في جدولة النتاج او في اتخاذ الق اررات المتعلقة بالوظائف‬
‫الرئيسة للدارة كالتخطيط والتنظيم والرقاابة ‪ .‬وتساهم البرمجة الخطية في حل مسائل النقل والتوزيع‬
‫حيث تستخدم للوصول الى اقال كلفة عند نقل وتوزيع النتاج الى مناطق اخرى ‪ .1‬فضل عن ذلك‬
‫فان البرمجة الخطية تستخدم في قاياس كفاءة اداء الوحدات القاتصادية والدارية التي لها مدخلت‬
‫ومخرجات متشابهة‪. 2‬‬
‫مع كل ذلك فان نماذج البرمجة الخطية تحتاج الى شخص مختص )تدرس مادة بحوث‬
‫العمليات في اقاسام معينة فقط في كليات الدارة والقاتصاد( عند تطبيقها عمليا ‪ ،‬اضف الى ذلك‬
‫حل مسائل البرمجة الخطية تحتاج الى برامج خاصة وفي الغالبا هذه البرامج تكون غالية الثمن‬

‫‪.( )1‬د محمد عبد العال النعيمي واخرون ‪ ،‬مقدمة في بحوث العمليات ‪ ,‬دار وائل للنشر ‪ ،‬عمان ‪ 1999 ،‬ص ‪-18‬‬
‫‪19‬‬
‫‪( )David R. A., etal "Quantitative methods for business" South-Western College‬‬
‫‪2‬‬

‫‪Publishing , Ohio .2001, p 358.‬‬

‫‪1‬‬
‫نسبيا ‪ ،‬كما ان التمرس عليها يحتاج الى وقات ليس بالقليل ‪ ، 3‬من هنا جاء الهدف من هذه الورقاة ‪.‬‬
‫حيث يمكن استخدام الجداول اللكترونية في حل مسائل البرمجة الخطية ‪.‬‬

‫‪- 3‬الجداول اللكترونية ونماذج البرمجة الخطية‬


‫يمكن حل نماذج البرمجة الخطية بثلثة طرق هي‪: 4‬‬
‫أ‪-‬الطريقة البيانية وهذه الطريقة يمكن استخدامها لمتغيرين فقط ‪.‬‬
‫با‪-‬الطريقة العادية وهي طريقة السمبلكس ‪ Simplex‬وهي تحتاج الى حسابات كثيرة وطويلة‪.‬‬
‫ج‪-‬من خلل استخدام البرامج الجاهزة والتي تكون عادة مرتفعة الثمن وصعوبة التعامل معها‪.‬‬
‫مع استخدام الجداول اللكترونية وخصوصا برنامج الكسل يمكننا التغلبا على المصاعبا‬
‫التي تظهر مع استخدام الطرق السابقة الذكر ‪ .‬وبرنامج الكسل له مميزات كثيرة منها سهولة‬
‫التعامل معه ويمكن استخدامه في مجالت كثيرة منها التحليل المالي والحصائي ‪ ،‬الرسوم البيانية‬
‫المختلفة ‪ ،‬الدوال الرياضية المختلفة ‪ ،‬تحليل الجداول وادراتها ‪ ،‬اضف الى امكانية استخدامه في‬
‫حل نماذج البرمجة الخطية من خلل استخدام خاصية ‪ .5 Solver‬ولتوضح ذلك نورد المثال‬
‫التطبيقي التالي‪.‬‬

‫‪ - 4‬مثال تطبيقي‬
‫نفترض لدينا شركة تنتج نوعين من الثاث هما الكراسي )‪ ( T‬والمناضد )‪ (C‬وهذه الشركة‬
‫تستخدم الخشبا واليدي العاملة في انتاجها ‪ ،‬ولدى الشركة ‪ 1200‬ساعة عمل متاحة للعمل و‬
‫‪ $ 5000‬لشراء الخشبا ‪ ،‬ولنتاج كرسي واحد تحتاج ‪ 4‬ساعات عمل و ‪ $ 10‬وتحتاج المنضدة‬
‫الواحدة الى ‪ 7‬ساعات عمل و ‪ . $ 35‬ويعطي انتاج الكرسي الواحد ربحا قادره ‪ $ 9‬والمنضدة ‪20‬‬
‫‪ . $‬والسوال المطروح هو ماهو المزيج المثل من المنتوجين الذي يعطي اعلى الرباح ؟‬

‫ويمكن كتابة المثال السابق على هيئة نموذج برمجة خطية ويكون بالشكل التي‬
‫‪Maximize Profit= 9C + 20T‬‬
‫‪Subject to:‬‬
‫‪4C + 7T ≤ 1200‬‬ ‫قايد العمل‬

‫‪3‬‬
‫‪( )Caine, D. J. and Parker B. J. "Linear programming comes of age: a decision‬‬
‫‪support tool for every " .Journal of Management Decision. London :1996. Vol. 34‬‬
‫‪Iss. 4 : p 46‬‬
‫‪4‬‬
‫‪( )Zolfe A. F. Shalby "Solving linear programming models by spreadsheet‬‬
‫‪software packages" Journal of faculty Economics and Administrative. King‬‬
‫‪Abdul-Aziz University, Jeddah. :2000. Vol. 14. No. 2 p 4.‬‬
‫‪5‬‬
‫‪( ) Vijay G. " Financial analysis using Excel " VJ books Inc, Canada . 2002. p 227‬‬

‫‪2‬‬
‫‪10C + 35T ≤ 5000‬‬ ‫قايد الخشبا‬
‫‪C≥0,T≥0‬‬ ‫قايد اللسلبية‬

‫‪- 5‬صاياغة وحل نموذج البرمجة الخطية في برنامج الكأسل‬


‫لصياغة وحل نموذج البرمجة الخطية في برنامج الكسل ينبغي العمل بالخطوات التية‪:‬‬
‫أ‪-‬ادخال البيانات بشكل صحيح‬
‫ب‪-‬كتابة الصيغ المطلوبة‬
‫ج‪-‬تعريف خلية الهدف )خليه الهدف(‬
‫د‪-‬تحديد الخليا المتغيرة‬
‫هـ اضافة القيود‬
‫و‪-‬خيارت الحل‬
‫ز‪-‬حل النموذج‬

‫أ‪-‬ادخال البيانات بشكل صحيح‬


‫نقوم بادخال البيانات كما في الشكل ‪ 1‬وكالتي ‪:‬‬
‫‪ ‬ادخال بيانات متغيرات القيود )انظر الخليا ‪ B5:C5 ، B8:C9‬و ‪ ( F8:F9‬وهذه‬
‫الخليا تسمى خليا الدخال ‪. data cells‬‬
‫‪ ‬ادخال متغيرات القرار )في هذه الخطوة نقوم فقط بتسمية الخليا وندخل قايمة اولية لكل‬
‫متغير قارار ‪ ،‬انظر الخليا ‪ B3‬و ‪ .( C3‬وهذه الخليا تسمى الخليا المتغيرة‬
‫‪. Changing cell‬‬
‫‪ ‬الكمية )دالة الهدف ( التي نهدف الى تحقيقها وهي اما تكون تعظيم للربح او تدنية‬
‫للتكاليف)وينبغي ان تكون على شكل معادلة ‪ equation‬تعتمد على قايم متغيرات القرار‬
‫( ‪ .‬والخلية التي تحتوي )انظر الخلية ‪ ( D5‬على هذه الكمية تسمى خلية الهدف ‪target‬‬
‫‪. cell‬‬
‫‪ ‬ادخال قايم القيود )والتي تتضمن الطرفين ‪ ،‬الطرف اليسر يمثل الموارد المستخدمة‬
‫‪,‬الطرف اليمن يتضمن الموراد المتوفرة( ‪ .‬والناتج من قايود الطرف اليسر )انظر الخليا‬
‫‪ ( D8:D9‬يسمى خليا الناتج ‪. output cells‬‬

‫شكل )‪ (1‬ادخال البيانات‬

‫‪3‬‬
‫ب‪-‬كتابة الصيغ المطلوبة‬
‫نستخدم صيغة ‪ SUMPRODUCT‬كما موضح بالشكل ‪ ، 2‬وهذه الدالة تستخدم ليجاد‬
‫ناتج جمع خليا معينة ذات نطاقاين ‪ . two range‬فمثل‬
‫)‪ SUMPRODUCT(B5:C5,B3:C3‬هذه الصيغة تجمع الناتج الحاصل من ‪ B5*B3‬مع‬
‫‪ . C5*C3‬ويجبا ان يكون كل النطاقاين من نفس المرتبة )عدد الصفوف وعدد العمدة‬
‫متساوية( ‪ .‬وبالنسبة لنماذج البرمجة الخطية ينبغي دائما استخدام دالة ‪ SUMPRODUCT‬او‬
‫دالة ‪ SUM‬لدالة الهدف والقيود حتى نضمن خطية المعادلة ‪.‬‬
‫شكل )‪ (2‬ادخال الصيغ‬

‫ج‪-‬تعريف خلية الهدف ‪) target cell‬دالة الهدف(‬


‫عندما نتاكد من ادخال البيانات كاملة والتي تحتوي على عناصر نموذج البرمجة الخطية‬
‫)البيانات ‪ ،‬متغيرات القرار ‪ ،‬دالة الهدف ‪ ،‬القيود( نتقل اى الخطوة التالية ك‬
‫‪ ‬نختار المر ‪ Solver‬من قاائمة ‪. Tolls‬‬

‫‪4‬‬
‫لكي نختار خليا دالة الهدف ‪ ،‬نختار زر الخيار المقابل الى مجموعة دالة الهدف ‪Set‬‬
‫‪ target cell‬من نافذة ‪) solver‬انظر الشكل ‪ (3‬وبعدها نقوم باحد الجراءات التية ‪-:‬‬
‫‪-1‬ننقر على الخلية التي تمثل دالة الهدف‪.‬‬
‫‪-2‬نطبع عنوان الخلية التي تمثل دالة الهدف‪.‬‬
‫‪ ‬ثم نختار اما تعظيم ‪ Max‬او تدنية ‪ ، Min‬وهذا يعتمد على دالة الهدف فيما اذا‬
‫كانت تعظيم او تدنية ‪.‬‬

‫شكل )‪(3‬‬

‫* ويجبا ان نلحظ ان خلية دالة الهدف تكون خلية واحدة فقط ‪ ،‬وهذه الخلية تحتوي على‬
‫المعادلة التي تحقق دالة الهدف‪.‬‬

‫د‪-‬تحديد الخليا المتغيرة‬


‫في هذه الخطوة نقوم بتحديد خليا متغيرات القرار والتي سيقوم الـ ‪ Solver‬بتغير قايمتها‬
‫عندما يحاول ان يجد القيمة القصوى للنموذج )انظر الشكل ‪ . (4‬ولعمل ذلك نتبع ما يلي ‪-:‬‬
‫‪ ‬ننقر على زر خيار " تغير الخليا" ‪ By changing Cell‬وثم نقوم باحد‬
‫الجرارءات التية ‪-:‬‬

‫‪5‬‬
‫‪-1‬نختار الخليا التي تمثل خليا متغيرات القرار ‪.‬‬
‫‪-2‬نطبع كل عناوين الخليا التي تمثل متغيرات القرار ‪.‬‬

‫شكل )‪(4‬‬

‫هـ‬

‫اضافة القيود‬
‫لكي نبدا باضافة القيود ننقر على زر ‪ Add‬من نافذة ‪ . Solver‬ستظهر نافذة حوار‬
‫جديدة وسيكون المؤشر في "مرجع الخلية " ‪) Cell Reference‬انظر الشكل ‪ (5‬فنقوم باحد‬
‫الجراءات التية ‪:‬‬
‫‪-1‬ننقر على الخليا التي نريدها تكون مقيدة ‪.‬‬
‫‪-2‬نطبع مراجع الخليا التي نريدها تكون مقيدة ‪.‬‬
‫ومن خانة اختيار المتباينات نختار المتبانية المطلوبة )نختار >= ( للقيد ثم ننقر على نافذة زر‬
‫خيار الـقيود ‪ Constraint‬ونقوم باحد الجراءات التية ‪:‬‬
‫‪ -1‬ننقر على الخليا التي تحتوي على قايم القيود‪.‬‬
‫‪ -2‬نطبع مراجع الخليا التي تتضمن قايم القيود ‪.‬‬
‫شكل )‪ (5‬ادخال القيود‬

‫‪6‬‬
‫وبعد اختيار القيود ننقر على زر ‪ ، Ok‬لكي نعود الى نافذة ‪. solver‬‬

‫و‪-‬خيارت الحل‬
‫عند تحديد خليا الهدف والخليا المتغيرة والقيود ستكون نافذة ‪ Solver‬بالشكل ‪6‬‬
‫شكل )‪ (6‬نافذة ‪solver‬‬

‫بقي‬
‫الن‬
‫شي‬
‫يجبا التنويه علية وهو زر الخيارات ‪ Options‬في نافذة ‪ ، Solver‬فعند النقر على هذا الزر‬
‫ستظهر لنا نافذة ‪) Solver Option‬انظر الشكل ‪ (7‬وهنا يجبا ان ننقر على المربعات " افتراض‬
‫خطية النموذج " ‪ Assume Linear Model‬و" افتراض اللسلبية " ‪Assume Non-‬‬
‫‪ . Negative‬ثم ننقر على زر ‪.Ok‬‬
‫شكل )‪ (7‬خيارات الحل‬

‫‪7‬‬
‫النموذج‬ ‫ز‪-‬حل‬
‫صياغة النموذج‬ ‫بعد‬
‫الختيارات‬ ‫وتحديد‬
‫المطلوبة ننقر على زر ‪ Solve‬وبعدها سنحصل على واحدة من الرسائل الربع التية ‪:‬‬
‫‪ "Solver found a solution. All constraints and optimality conditions are satisfied" -1‬مما‬
‫يعني ان الـ ‪ Solver‬وجد الحل المثل للنموذج‪.‬‬
‫‪ "Cell values did not converge" -2‬ويشير هذا الى ان دالة الهدف تصل الى ما لنهائية ‪.‬‬
‫وهذا ناتج عن نسيان كتابة قايد او ادخال دالة خاطئة‪.‬‬
‫‪ "Solver could not find a feasible solution" -3‬وهذا يشير الى عدم الحصول على حل‬
‫ممكن ‪ ،‬وينتج من ادخال غير صحيح للقيود او الدوال ‪.‬‬
‫‪ "Conditions for Assume Linear Model not Satisfied" -4‬هذه الرسالة تشير الى‬
‫ادخال دالة او صيغة غير خطية ‪.‬‬

‫واذا وجد ‪ Solver‬الحل المثل ستظهر لنا نافذة تحتوي على عدة خيارات )انظر الشكل ‪( 8‬‬
‫‪ ،‬يجبا ان ناخذ الختيار الول اذا اردنا ان نحتفظ بالحل المثل في ورقاة اكسل ‪ ،‬واذا اختارنا‬
‫الخيار الثاني فان سنحصل على القيم الولية التي ادخلناها في ورقاة اكسل ‪.‬‬

‫الشكل )‪ (8‬الحل المثل‬

‫‪8‬‬
‫ومن نتائج الحل المثل نجد ان الشركة تنتج ‪ 100‬كرسي و ‪ 114.29‬منضدة حتى تحقق‬
‫اعلى ربح لها وهو ‪. $ 3185.71‬‬

‫‪- 6‬تحليل الحساسية )ما بعد الحل المثل ( ‪Sensitivity analysis‬‬


‫اضافة الى المعلومات التي حصلنا عليها من الحل المثل ‪ ،‬فان هناك خيارات اخرى يوفرها‬
‫لنا ‪ Solver‬وهي التقرير ‪ answer report‬و تحليل الحساسية ‪.‬‬
‫فالتقرير يعطينا معلومات تفصيلية للحل المثل على شكل تقرير وكذلك يبين لنا اي من القيود‬
‫تكون ملزمة ‪ .‬وايضا يعطينا صورة عن القيود التي تكون غير ملزمة ‪).‬انظر الشكل ‪(10‬‬
‫شكل )‪(10‬‬

‫‪9‬‬
‫اما تحليل الحساسية او تقرير تحليل الحساسية فهو يخبرنا كم يؤدي تغير البيانات )القيود‬
‫مثل( في نتيجة الحل المثل‪) . 6‬انظر الشكل ‪ ، (11‬وايضا يحتوي تقرير تحليل الحساسية على‬
‫معلوماتمهمة ‪.‬فمثل لو نظرنا تحت عمود اسعار الظل ‪ ، Shadow price‬فالقيمة ‪1.64286‬‬
‫تمثل الزيادة في دالة الهدفالناتجة عنزيادة عدد ساعات العمل من‪ 1200‬الى ‪.1201‬‬
‫شكل )‪ (11‬تقرير تحليل الحساسية‬

‫‪-7‬الستنتاجات والمقترحات‬
‫خلل السنوات الخيرة اتضح دور واهمية استخدام الجداول اللكترونية في التحليل الكمي‬
‫والحصائي والتي كان لها الدور الكبير في تذليل الكثير من الصعوبات التي تواجه القاتصادين‬
‫ومتخذي القرار لما توفره من مزايا ة ومهام وفي مجالت عديدة منها التنبؤ والتسويق والتحليل المالي‬
‫وغيرها من المجالت ‪.‬‬
‫كما ان سهولة التعامل مع هذه الجداول لم تصبح‬

‫?‪http://www.arabicstat.com/forums/view_topic.php‬‬
‫‪id=26&forum_id=17‬‬

‫‪6‬‬
‫‪( ) Donald L. H. and James F. H. "Data , Statistics, and Decision Models with‬‬
‫‪EXCEL" John Wily Sons, Inc. New York , 1998 . p 510.‬‬

‫‪10‬‬

You might also like