• 0
vector_ever

لدي مشكلة واريد توظيفها وتحليلها عن طريق ايجاد خوارزمية كحل

سؤال

السلام عليكم ورحمة الله وبركاته

اخواني عندي مشروع كبير بالبرمجة ولدي شكلة تواجهني وانا صراحة اريد ايجاد خوارزمية لحل تلك المشكلة وانا اقوم ببرمجتها فيما بعد فقط اريد ايجاد خوارزمية تعطيني طريقة الحل بطريقة رياضية منطقية او عن طريق معادلات رياضية

المشكلة كالتالي انه لدي عدد معين من الآلات تقوم كل آلة بعدد معين من الوظائف وكل وظيفة تستغرق وقت معين

J1 J2 J3 J4

M1 4 3 6 2

M2 2 3 1 2

M3 2 5 6 3

M4 4 4 1 2

J:job and M: machine

نرى هنا مصفوفة مؤلفة من اربعة اعمدة واربعة صفوف كل صف هو عبارة عن آلة ستنفذ 4 وظائف

الصفوف تمثل الآلات والاعمدة تمثل الوظائف او المهام

مثلا السطر الثاني يحوي الآلة الثانية وفيها مثلا الوظيفة الاولى تستغرق 2 وحدة زمن (ربما ساعة او دقيقة) الوظيفة الثانية تستغرق 3 وحدة زمن الوظيفة الرابعة تستغرق 2 وحدة زمن طبعا كله بالسطر الثاني الذي يمثل الالة الثانية

طبعا هنا سيتم تنفيذ وظائف الآلة الاولى بالكامل ثم يتم تنفيذ وظائف الالة الثانية فالثالثة فالرابعة وهكذا بالتدريج

كما هو واضح بالشكل نرى كيف تم العملية طبعا مثلا لن يتم يتنفيذ الوظيفة الثانية من الالة الثانية قبل ان ننتهي من تنفيذ الوظيفة الثانية من الالة الاولى

post-152477-083599000 1292557153_thumb.j

الهدف من العملية هو ايجاد الوقت الكلي لتنفيذ اخر وظيفة باخر الة بشرط ان لا يسبق تنفيذ وظيفة معينة الوظيفة نفسها في الالة اللتي قبلها كما قلنا مثلا الوظيفة رقم 3 في الالة 2 لن يتم البدء بتنفيذها حتى يتم الانتهاء من تنفيذ الوظيفة رقم 3 في الالة 1

الهدف هو ايجاد كما قلت الوقت النهائي والاخير لتنفيذ الوظائف بكل الآلات

post-152477-021011900 1292558566_thumb.j

ساضرب الآن مثال اخر وعلى نفس المبدأ

J1 J2 J3 J4

M1 3 6 2 1

M2 4 3 6 2

M3 1 5 4 2

M4 2 2 1 5

post-152477-042899000 1292559562_thumb.j

فيا اخوان انا شرحت الموضوع انا الموضوع فكرت فيه جدا كثير واخد مني ايام وليالي وكل طرق الحل اللي وجدتها كان فيها ثغرات يعني كانت تصلح لحالات محددة فقط

فارجو اللي عنده طريقة لحل هذه المسالة رياضيا او خوارزميا بطريقة منطقية رياضية او عن طريق معادلات رياضية او عن طريق fllow chart بكون جدا جدا ممنون وبكون من الشاكرين

واي استفسار او نقطة غامضة انا جاهز

تم تعديل بواسطه vector_ever
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

8 إجابة على هذا السؤال .

  • 0

السلام ..

ذكرني طلبك بما كنا نقوم به في مادة تنظيم المشروعات عند رسم ما يسمى "بمخطط القضبان" لمشروع ما

كنت أوكل هذه المهمة لـــ لبرنامجي Microsoft Project أو Primavera

في حال كان لدي بعض الوقت بعد عملي ..سأحاول ايجاد خوارزمية لحل المطلوب

تم تعديل بواسطه Devd
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله

أخى الفاضل بارك الله فيك

طبعا هنا سيتم تنفيذ وظائف الآلة الاولى بالكامل ثم يتم تنفيذ وظائف الالة الثانية فالثالثة فالرابعة وهكذا بالتدريج

كما هو واضح بالشكل نرى كيف تم العملية طبعا مثلا لن يتم يتنفيذ الوظيفة الثانية من الالة الثانية قبل ان ننتهي من تنفيذ الوظيفة الثانية من الالة الاولى

طبعا هذا الكلام متناقض ، فالسطر الأول يوحى بأن جميع عمليات الآلة الأولى ستنتهى قبل بدأ اى عملية للألة الثانية وهكذا.

اما السطر الثانى ، فيوحى بأنه يمكن عمل جميع الألات على التوازى ، لكن تحت شروط. وهذه الشروط اتضحت من خلال الرسم التوضيحى الذى ارفقته حضرتك.

عامة الخوارزمية بسيطه ان شاء الله تعالى. ولكنها تحتاج للنظر للأمر بتركيز قليلا. مرفق صورة توضح الخوارزمية المقترحة. اتمنى ان تستطيع فهمها وبرمجتها ، ويمكن تعميمها لاى عدد من اآلات واى عدد من العمليات.

المصفوفة الأولى فى الصورة ، تمثل مصفوفة القيم التى تقوم بإدخالها. والمصفوفة الثانية تقوم بحسب الوقت الكلى منذ بدأ العمل على الآلة الأولى وحتى الإنتهاء من تنفيذ العملية المناظرة.

فمثلا ، T23 تمثل الوقت الكلى المستغرق منذ بدأ عمل العملية الأولى للآلة الأولى ، وحتى الإنتهاء من العملية الثالثة للآلة الثانية.

مع ملاحظة ان max(a,b) تعود بالقيمة الأكبر من العددين a, b.

post-52814-056436100 1292662124_thumb.jp

هذا والله اعلى واعلم. بالله التوفيق ،،،

4

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله

أخى الفاضل بارك الله فيك

طبعا هذا الكلام متناقض ، فالسطر الأول يوحى بأن جميع عمليات الآلة الأولى ستنتهى قبل بدأ اى عملية للألة الثانية وهكذا.

اما السطر الثانى ، فيوحى بأنه يمكن عمل جميع الألات على التوازى ، لكن تحت شروط. وهذه الشروط اتضحت من خلال الرسم التوضيحى الذى ارفقته حضرتك.

عامة الخوارزمية بسيطه ان شاء الله تعالى. ولكنها تحتاج للنظر للأمر بتركيز قليلا. مرفق صورة توضح الخوارزمية المقترحة. اتمنى ان تستطيع فهمها وبرمجتها ، ويمكن تعميمها لاى عدد من اآلات واى عدد من العمليات.

المصفوفة الأولى فى الصورة ، تمثل مصفوفة القيم التى تقوم بإدخالها. والمصفوفة الثانية تقوم بحسب الوقت الكلى منذ بدأ العمل على الآلة الأولى وحتى الإنتهاء من تنفيذ العملية المناظرة.

فمثلا ، T23 تمثل الوقت الكلى المستغرق منذ بدأ عمل العملية الأولى للآلة الأولى ، وحتى الإنتهاء من العملية الثالثة للآلة الثانية.

مع ملاحظة ان max(a,b) تعود بالقيمة الأكبر من العددين a, b.

post-52814-056436100 1292662124_thumb.jp

هذا والله اعلى واعلم. بالله التوفيق ،،،

أخي عماد والله اثلجت صدري بهذا الحل الرائع مع المثال والتوضيح الرائع على فكرة الحل صحيح 100% واشكرك جدا اخي وامنحك صوتي مع حبي وتقديري لمساعدتك

على فكرة اخي كلامي ليس متناقض والمثال الذي انا قمت بطرحه صحيح 100% ولعل مقصدي لم يصلك بصورة كاملة لكن حلك كفى ووفى وجزيل الشكر لك اخي الكريم

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله خيرا اخى الفاضل.

لو احتجت اى مساعدة فى برمجة او تعميم الخوارزمية ، يمكننى مساعدتك ان شاء الله.

بالله التوفيق ،،،

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخ عماد .. رائعة جدا" فكرتك انها كافية تماما" في حل معضلة الاخ ...

ولكن أريد أن أنوه بأن الحالة التي طرحها الاخ السائل .. تبقى في دائرة ما يسمى (بالحالة الخاصة) وتعميمها يحتاج الى جهد

كبير ..

تقبّل مروري..

تم تعديل بواسطه Devd
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله

مرحبا أخى الفاضل Devd

أخ عماد .. رائعة جدا" فكرتك انها كافية تماما" في حل معضلة الاخ ...

فى الحقيقة اخى الكريم هذه شهادة اعتز بها جدا ، فإن رأيك من الأراء التى احترمها واقدرها فى هذا المنتدى ، واتمنى ان اكون عند حسن ظنك بى دوما.

ولكن أريد أن أنوه بأن الحالة التي طرحها الاخ السائل .. تبقى في دائرة ما يسمى (بالحالة الخاصة) وتعميمها يحتاج الى جهد كبير ..

لم افهم مقصدك من الجملة السابقة. هل تقصد بالتعميم هنا ، التعميم على عدد اكبر من الآلات او الوظائف؟ ام تقصد التعميم لمشكلات اخرى من هذا النوع؟

فالتعميم الذى قصدته انا فى ردى على الأخ صاحب السؤال ، هو التعميم لأى عدد من الآلات او الوظائف. وهذه سهلة ان شاء الله ولا تحتاج لجهد او خلافه.

اما التعميم لحالات اخرى بشروط مختلفه عن المسألة الحاليه ، فطبعا سيكون كلامك مضبوط تماما. لأن كل مشكله لها ظروفها وشروطها الخاصة ،،،

هذا والله اعلى واعلم ،،،

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أستاذي الغالي عماد

حل أكثر من رائع !!!

ما شاء الله

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أستاذي الغالي عماد

حل أكثر من رائع !!!

ما شاء الله

جزاك الله خيرا أخى الكريم ، وجعلنى عند حسن ظنك بي ،،،

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .