Transcript
Page 1: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

نالل يحقيقال زمنال مهام جدولةل خوارزمية ي جانسةمتال ريغ معالجاتال متعدد ظامن يف

2 د. محمد فراس الحلبيأ.م.و 1 نور الهدى سعد سوريا –جامعة دمشق –كلية العلوم –قسم الرياضيات

الملخص زمنأنظمة ال الجدولة من التحديات الصعبة في األنظمة المتوازية، وخاصة مسألةتعد

تي الخوارزميات المعظم ركزت معالجات متجانسة أو غير متجانسة. طلبالتي تالحقيقي في هذا البحث نهتم على هدف واحد مثل وقت التنفيذ أو التكلفة.طورت لجدولة المهام

ير عالجات لبيئة غ تعدد الم م الحقيقي اللين زمنمهام نظام الدراسة مسألة جدولة بفي تقليل هذه األهداف تتمثل . متعددة األهداف ةاعتبرنا مسألة الجدولحيث ،تجانسةم

خوارزمية ببناء سنقوم .ستخدمة في الجدولةالم عالجاتأخير الكلي وتقليل عدد الم الت مقدارمن التعامل مع بيئة هذه الخوارزمية تمكننا حيث "عشوائيةجديدة ندعوها "الخوارزمية ال

بين بين المعالجات وقيود األسبقية تصالاالمع وجود تكاليف المعالجات غير المتجانسةهي أحد أهم و CENSGA الـ بإجراء تعديل على سنقوم أخرى هةج من .المهام

باإلضافة لذلك، . قيدةة الم ياألمثلالخوارزميات الجينية التي تتميز بكفاءتها بحل مسائل تعتمد هذه .لحل مسألة الجدولة المطروحةعدلة الم CENSGAسنقترح آلية باستخدام

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

CENSGA أفضل من أداء خوارزمية عدلة المCENSGA في تقليل يتها فعال كذلك، و .زمن التأخير الكلي عدد المعالجات المستخدمة وانعدام

تكاليف بيئة غير متجانسة، ،اللين الحقيقي زمنجدولة المهام، نظام ال الكلمات المفتاحية: CENSGA. ، خوارزميةاالتصال

جامعة دمشق –كلية العلوم –قسم الرياضيات –طالبة ماجستير 1 جامعة دمشق –كلية العلوم –قسم الرياضيات -الدكتور المشرف 2

Page 2: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 2 -

A Scheduling Algorithm for Soft Real-Time Tasks in Heterogeneous Multiprocessors System

Nour Alhuda Saad and Prof. Mohamad Firas ALhalabi Department of Mathematics - Faculty of Science – Damascus University – Syria

Abstract Scheduling problem is considered challenging in parallel systems,

specially the multiprocessor real-time systems that have

heterogeneous or homogeneous processors. Most of proposed

algorithms focused on only one objective such as execution time

and cost. In this paper we discuss the problem of scheduling soft

real-time tasks in the heterogeneous multiprocessor system. The

scheduling problem here has two objectives which could be

presented in minimize tardiness and minimize the total number of

processors. We introduce a new algorithm called "The Random

Algorithm". This algorithm allows to deal with the heterogeneous

processors environment with the communication costs between

processors and the precedence relationship between tasks. On the

other hand, we propose some modifications on CENSGA, which is

one of the most important genetic algorithms due to its competence

in solving constrained problems. In addition, we introduce a new

mechanism using the modified CENSGA. This mechanism relies on

our random algorithm. In order to validate the efficiency of our

proposed mechanism, we have done some simulation. The

simulation results showed that the performance of our modified

CENSGA was better than the CENSGA one as well as its

effectiveness in reducing the number of processors and the lack of

tardiness.

Keywords: Scheduling Task, Soft Real-Time System,

Communication Costs, Heterogeneous environment, CENSGA

Algorithm.

Page 3: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 3 -

مقدمة 1، (Real-Time)الحقيقي زمنانتشرت مؤخرا التطبيقات التي تعمل باستخدام أنظمة ال

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

الضروري ضمان قيود التوقيت الخاصة بالنظام. لضمان هذه القيود يجب توفر إمكانية هناك الكثير من . ل مهمة عند تفعيلها على وجه اليقينالتنبؤ بوقت اكتمال تنفيذ ك

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

.[6] األسبقية بين المهامخوارزمية الحد األبكر أوال بشكل أمثلي ورت لجدولة المهام لعل أبرز الخوارزميات التي ط

Earliest Deadline First, EDF)) ةعدل الرتيبوخوارزمية م(Rate Monotonic ,RM) الحقيقي متعددة زمنأما في أنظمة ال. ]6[ جالحقيقي وحيد المعال زمننظام الل ولكن

(NP-Hard)العثور على جداول مثلى، بشكل عام، هو مسألة معقدة المعالجات تبين أن

قدرة الخوارزميات التطورية متعددة األهداف على إيجاد الحلول المثلى جعلها إن . [14] اتعد الخوارزميت .]4[ تعددة والمتضاربةطريقة جذابة لحل المشاكل ذات األهداف الم

اتتختلف هذه الخوارزمي حيث الخوارزميات التطورية، الجينية متعددة األهداف إحدىتماما عن معظم طرق األمثلية التقليدية فهي تعمل على مجموعة حلول عشوائية للحصول

( التي تحقق Pareto Optimal Solutionsعلى الحلول المثلى )حلول باريتو المثلى .أفضل القيم لدالة الهدف

ن الباحثين خالل الفترة الحقيقي اهتمام العديد م زمننالت مسألة جدولة مهام نظام المتجانسة مقارنة مع الغير دراسات محدودة تمت على البيئات األخيرة، ووجدنا أن

تم دراسة [17]و [16]و [15]و [10] الدراسات التي تمت على البيئات المتجانسة. ففيالحقيقي، فكان االختالف بين هذه الدراسات يظهر في: زمنمسألة جدولة مهام نظام ال

التي يمكن أن تكون مسألة األمثليةحقيقي المدروس ودالة الهدف ونوع ال زمننوع نظام ال

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

Page 4: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 4 -

ث خوارزمية جدولة جديدة لمهام غير شف عية اقدمنا في هذ ( Non-Preemptive)البح

غير متجانسةذات بيئة الحقيقي اللين متعدد المعالجات زمنفي نظام ال وغير مستقلة(Soft Real-Time Heterogeneous Multiprocessor System) مع وجود

تكاليف اتصال بين المعالجات وقيود أسبقية بين المهام باستخدام خوارزمية MCENSGA خير خوارزمية تقليل كال من زمن التأمن هذه ال الهدفالمعدلة. سيكون

وعدد المعالجات. أخيرا سنعرض النتائج التي توصلنا إليها من (Tardiness) الكلي .الخوارزمية المقترحة كفاءةالماتالب إلظهار بيئة أجريناها باستخدام محاكاةخالل

هدف البحث 2قيود التوقيت بعض فمن الضروري ضمان اللين الحقيقي زمنالتعامل مع أنظمة العند

في المهام لتوزيع األمثل الحل إيجاد ات الجدولةخوارزمي يعتستط لم. الخاصة بالنظام هنا: طرحي يمكن أن لسؤاأكثر من . الحقيقي اللين متعدد المعالجات زمننظام ال

الغاية التي تسعى تحققScheduler) ) تقوم ببناء مجدول يةخوارزمإيجاد يمكنهل .1 ؟الحقيقي اللين متعدد المعالجات زمنفي نظام ال الجدولةلها مسألة

اإلمكان من بحيث يمكننا االستفادة قدرالمستخدمة هل يمكن تقليل عدد المعالجات .2 المعالجات المحددة؟

صال وعدم التجانس بين تكاليف االتكذلك قيد األسبقية بين المهام، و أخذهل يمكن .3 ؟بعين االعتبار المعالجاتاألسئلة باستخدام نوع من أنواع الخوارزميات هذه عناإلجابة هذا البحث سنحاول في

.الجينية متعددة األهداف مواد وطرق البحث 3

[9] هبأنواعه وبعض المفاهيم المتعلقة الحقيقي و زمننظام اللنعرض فيما يلي تعريف صحته تعتمدالذي النظام هو :Real-Time System)) الحقيقي زمننظام ال 3.3

.عليها( الوقت الذي يتم فيه الحصول)المنطقية على كل من صحة النواتج وتوقيتها

Page 5: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 5 -

:الحقيقي زمنأنواع أنظمة ال 2.3 الحقيقي إلى ثالثة أصناف: زمنبشكل عام تصنف أنظمة ال

,Real-Time System) الحقيقي الصعب زمننظام ال 3.2.3 𝐒𝐑𝐓𝐡 Hard) : هوتسبب في إلى نتائج كارثية( Deadlineجاوزه للحدود الزمنية )الذي يؤدي ت النظام .لهرة دم وقد تكون م انهياره،هو :(Real-Time System, 𝐒𝐑𝐓𝐟 Firm) لقاسيالحقيقي ا زمننظام ال 3.2.2

إلى نتائج كارثية وذلك لعدد ( Deadlineالنظام الذي ال يؤدي تجاوزه للحدود الزمنية )ؤدي إلى نتائج كارثية تسبب ا يالتجاوزات، ولكن إذا أصبح عدد التجاوزات كبير قليل من .تكون مدمرة له وفي بعض الحاالت ،في فشله هو :(Real-Time System, 𝐒𝐑𝐓𝐬 Soft)لينالحقيقي ال زمننظام ال 3.2.3

ولكنه يكمل عمله ( Deadlineالنظام الذي يتدهور فيه األداء عند تجاوزه للحدود الزمنية ) بشكل صحيح والنتائج تبقى صحيحة.

هو الوقت الذي يكون فيه المعالج: (Idle Time or Slot Time)وقت الخمول 3.3

عن العمل وال ينفذ أي مهمة. عاطال لالستفادة هي عملية إدخال المهام في وقت خمول المعالج (:Insertاإلدراج )عملية 3.3

.قدر اإلمكان من المعالج جدول وهو الزمن الذي: يسمى أيضا طول الم [12](Makespan)زمن اإلتمام الكلي 3.3

𝑴𝒂𝒌𝒆𝒔𝒑𝒂𝒏.، فيه تنفيذ جميع المهامينتهي = 𝐦𝐚𝐱𝐢∈𝐓{𝒕𝒊𝒎𝑭 ∀ 𝒎} المعالج هي النسبة الزمنية التي يكون فيها: 𝒎 (Utilization(m))انشغالية المعالج 2.3

𝑼𝒕𝒊𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏(𝒎) : في وضع التنفيذ وغير خامال = ∑ 𝒄𝒊𝒎𝒊∈𝑻 𝑴𝒂𝒌𝒆𝒔𝒑𝒂𝒏. من أجلM معالج

= 𝑺𝒚𝒔𝒕𝒆𝒎 𝑼𝒕𝒊𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏 : ظامتكون انشغالية الن ∑ 𝑼𝒕𝒊𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏(𝒎)𝒎∈𝑴 𝒎.

البرنامج هذا . jobعليهوأحيانا يطلق هي كل برنامج قيد التنفيذ: (Taskالمهمة ) 3.3

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

(Parameters) ،وقت الحساب، وقت االنتهاء، ،وقت البدءزمنية أهمها وقت اإلصدار

Page 6: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 6 -

الموعد النهائي المطلق، زمن التأخير، مقدار التجاوز، وأخيرا مقدار التراخي سنقوم :[1]بتوضيح مفهوم كل وسيط على حدا

جاهزةة : الوقت الذي تصبح فيه المهم(,𝒓𝒊 Release Time)وقت اإلصدار 3.3.3 .صدار هو أبكر وقت لتنفيذ المهمةسنعتبر وقت اإلللتنفيذ. في بحثنا

.تنفيذ المهمة بدأ فيهيالذي الفعلي الوقت (:Start Time,𝐭𝐢𝐬) وقت البدء 3.3.2 الوقت الالزم لتنفيذ المهمة على (:Computation Time, 𝒄𝒊)وقت الحساب 3.3.3

المعالج دون مقاطعة. بشكل المهمةتنفيذ نتهي فيهيالوقت الذي (:Finish Time, 𝐭𝐢𝐟)وقت االنتهاء 3.3.3

.كامل الوقت الذي ينبغي فيه (:Absolute Deadline, 𝒅𝒊)الموعد النهائي المطلق 3.3.3

االنتهاء من تنفيذ المهمة، وذلك بعد إطالقها لتجنب األضرار التي تلحق بالنظام. مهمة، أي أهمية مهمة فيما يتعلق بالمهامالتمثل أولوية (:Value, 𝒗𝒊)القيمة 3.3.3

األخرى في النظام. يمثل زمن تأخير إنجاز المهمة فيما يتعلق :(,𝐋𝐢 Lateness)زمن التأخير 3.3.3

𝐿𝑖,(𝒅𝒊)بموعدها النهائي المطلق = tif − 𝒅𝒊 إذا اكتمل تنفيذ المهمة قبل . فإن زمن تأخيرها سيكون سالب.(𝒅𝒊) موعدها النهائي

يمثل الحد األقصى من الوقت (:Tardiness, 𝐓𝐢) مقدار التأخير أو تجاوز 3.3.3.تبقى فيه المهمة نشطة بعد موعدها النهائي الذي 𝑻𝒊 = 𝒎𝒂𝒙(𝟎, 𝑳𝒊) ،(𝒅𝒊)

.بحثنا يمثل الهدف األولي ف, Laxity Time) زمن التراخي 3.3.3 𝑳𝑿𝒊:) هو الوقت الذي يسمح فيه تأجيل تنفيذ

،(𝑑𝑖)المطلق النهائيالمهمة بحيث يبقى وقت إكمال تنفيذ المهمة في موعدها 𝑳𝑿𝒊يعطى بالعالقة وهو مقدار موجب = 𝒅𝒊 − tif.

التي أشرنا إليها الحقيقي زمنالمهمة في نظام ال وسطاءوقت الخمول و (1) الشكل وضحي .سابقا

Page 7: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 7 -

جدولة المهام 3.3

الحقيقي بأنها عملية ترتيب تنفيذ المهام بحيث زمنتعرف عملية جدولة المهام في نظام المن البدء، يتم استيفاء العديد من القيود كالموعد النهائي، عالقة األسبقية، وقت التنفيذ، ز

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

: [11] وهذا ما سنقوم بتوضيحه المهامصفات النظام و نوع خصائص (3.2تم اإلشارة إليه سابقا )الفقرة قاسي النظام صعب أو لين أو 3.3.3

أو ديناميكي ساكنالنظام 3.3.2

الموعد كل من معلومات كافية عن نحتاج الحصول على ساكنحقيقي الال زمنفي نظام التكون هذه المعلومات .ستجابة، زمن االتصال بين المهامالحساب، زمن اال زمن النهائي،

، وتكون عكس ذلك في األنظمة الساكنتصميم المتاحة بشكل مسبق في األنظمة ذات الديناميكية المرنة.

شفعيةأو غير شفعيةالمهام 3.3.3

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

نفذ دون انقطاع بمجرد أن يبدأ تنفيذها. التي ت لشفعيةا متغيرةالمهام ذات أولوية ثابتة أو 3.3.3

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

عندئذ تكون المهمة ذات أولوية ثابتة. فترة التنفيذ المهام مستقلة أو غير مستقلة )التابعة( 3.3.3

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

وقت ترتيب وقت بدء و بعين االعتبار يترتب على ذلك األخذ .المهام المتعلقة بهذه المهمة

الحقيقي ووقت الخمول. زمنمهام نظام ال(: وسطاء 1الشكل )

Page 8: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 8 -

لة المهام مستقلة. على عكس عملية جدو الغير أثناء عملية جدولة المهام لمهاماانتهاء المستقلة التي ال تتطلب ذلك.

:[13] المعالجات متجانسة أو غير متجانسة 3.3.3الوظيفية، نظام لها نفس القدرةجميع معالجات ال عني إما أن يعدم التجانس في المعالجات

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

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

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

في الخوارزميات الجينية اتأساسي 3.3الخوارزميات ف .م1960 عام بل العالم جون هولندالخوارزميات الجينية من ق بتكاراتم

الطرق من هذه الخوارزميات تعد ،أحد فروع الذكاء االصطناعيهي الجينية البحث العشوائي عن الحل األمثل معتمدة في الهامة (Metaheuristic) الميتاهيروستيكية

نعرض فيما يلي مجموعة من المفاهيم .على مبدأ العالم داروين في البقاء لألقوى واألفضل :[2]التي اقترحناها الجينية ةآلية عمل الخوارزمياألساسية التي تساعدنا في فهم

التي تم الحلول تضممجموعة جزئية هو :(Population) مجتمع الحلول 3.3.3 .جميع الحلول الممكنة التي تحقق قيود المسألة المطروحةمن ترشيحها

هو سلسلة من :(Chromosome or Individual) الكروموسوم أو الفرد 3.3.2

تمثل حال للمسألة المطروحة ويتكون كل كروموسوم من جينات التي الرموز .منفصلة

يمثل أحد العناصر األساسيةهو جزء واحد من الكروموسوم، و :Gene)الجين) 3.3.3 . للكروموسوم

.القيمة التي يأخذها الجين لكروموسوم معين هو :(Allele)األليل 3.3.3

Page 9: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 9 -

ول المدخلة إليها،هي دالة تقيم الحل (:Fitness Functionدالة المالئمة ) 3.3.3 كون دالة المالئمة هي دالة الهدفمن مسألة إلى أخرى. قد ت تختلف هذه الدالةو

المسألة المنهجية التي سيتم فيها معالجة بناء علىلمدروسة وذلك ا للمسألة المطروحة.

إجرائية تحول حلول المسألة المدروسة إلى شكل : ((Encodingالترميز 3.3.3 ا ويسهل التعامل معها برمجيا .يمكن فهمه كروموسومات

مع تساعد دالة المالئمة في التعامل هي إجرائية :(Decodingفك الترميز ) 3.3.3 .هايمقيالمدخلة إليها من أجل ت الكروموسومات

( Selectionاالختيار)هي Genetic Operators):) العمليات الجينية 3.3.3 ( سيتم شرحها الحقا . Mutation( والطفرة )Crossover) والعبور

هي الحلول التي نحصل عليها بعد :(Offspring)الحلول الجديدة أو األبناء 3.3.3 .أو الحلول المدخلة تطبيق العمليات الجينية على الحلول الحالية

(Multi Objective Optimization, MOOاألمثلية متعددة األهداف ) 3.33والتي تتضمن عدد تعد التركيبات متعدد األهداف نماذج واقعية للعديد من مسائل األمثلية،

قد التي تصف المسألة المدروسة. هذه المسائل غالبا ما تحوي على قيود. األهدافمن حلولإلى معينيؤدي تحسين حل يتعلق بهدف ف تتعارض األهداف مع بعضها البعض

دة األهداف هو إن الحل المعقول لمشكلة متعد غير مقبولة فيما يتعلق باألهداف األخرى.األهداف في مستوى مقبول دون أن يهيمن جميع حققت التي الحلول البحث في مجموعة

.[8]خرعلى األ أحدهاMOO ]2[ 𝑀𝑖𝑛 𝑓(𝑥)عامة لمسألة الصيغة الرياضية ال 3.33.3 ∶ 𝑥𝜖 𝑆 𝑆𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 𝑔𝑖(𝑥) ≤ 0 𝑖 𝜖 {1,2,3 … … 𝐾} ℎ𝑖(𝑥) = 0 𝑗 𝜖 {1,2,3 … … 𝑝} 𝒙 حيث أن: = ( 𝒙𝟏, 𝒙𝟐, 𝒙𝟑 … 𝒙𝒎) هو متجه متغيرات القرار من البعد𝒎 𝑓(𝑥) = ( 𝑓1(𝑥), 𝑓2(𝑥), 𝑓3(𝑥) … 𝑓𝑛(𝑥)) التي الهدف هو متجه دوال

.𝑛 من البعد المسألة المدروسة تصف

Page 10: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 10 -

𝒈𝒊 وعددهاقيود عدم المساواة𝒌 قيد ℎ𝑖 وعددها قيود المساواة𝑝 قيد

(Dominateالهيمنة ) 3.33.2𝑓𝑗) لتكن لدينا مسألة تملك أكثر من دالة هدف واحدة , 𝑗 = 1,2 … … 𝑛 ; 𝑛 > من (1

أحدهمإما .يتحقق واحد من اثنين من االحتماالتيمكن أن ، 𝑥2و 𝑥1أجل أي حلين 𝑥1. يكون الحل يهيمن على اآلخر أو ال أحد يهيمن على آخر ≼ 1 𝑥2 إذا تحقق كال

الشرطين: من أجل كل األهداف 𝑥2الحل ليس أسوأ من 𝑥1 الحل -1

𝑓𝑗(𝑥1) أي ⊀ 2 𝑓𝑗(𝑥2) ∀ 𝑗 = 1,2 … … 𝑛 األقل هدف واحد علىمن أجل 𝑥2 الحل أفضل من 𝑥1الحل -2

,j 𝜖 {1,2,3 ∃ أي … … . n} ∶ 𝑓𝑗(𝑥1) ≻ 3 𝑓𝑗(𝑥2) .𝑥2 ال يهيمن على الحل 𝑥1 الشروط المذكورة أعاله، فإن الحل تتحققإذا لم

[7] [2] (Pareto Optimality)أمثلية باريتو 3.33.3

𝑥يكــون الحــل ∈ S (S )حــل بــاريتو أمثلــي فــي مجموعــة الحلــولS إذا وفقــط إذا لــم يكــن′𝑥هنــــــــــــــــــــــــاك حــــــــــــــــــــــــل ∈ S المتجــــــــــــــــــــــــه يهــــــــــــــــــــــــيمنه مــــــــــــــــــــــــن أجلــــــــــــــــــــــــ ذيوالــــــــــــــــــــــــ 𝑣 = 𝐹(𝑥′) = (𝑓1(𝑥′), 𝑓2(𝑥′), … … … 𝑓𝑛(𝑥′)) على المتجه 𝑢 = 𝐹(𝑥) = (𝑓1(𝑥), 𝑓2(𝑥), … … … 𝑓𝑛(𝑥)) .

((𝑷∗ Pareto Optimal Setمجموعة باريتو المثلى 3.33.3.3∗𝑃 ،(2الشكل ) على أنها ، ∗𝑃ريتو المثلىباف مجموعة تعر ≔ {𝑥 𝜖 𝑆 | ⇁ ∃ 𝑥′𝜖 𝑆 ∶ 𝐹(𝑥′) ≼ 𝐹(𝑥)}

𝑥1 أي 𝑥2 و 𝑥1بين الحلين ≽العملية 1 ≼ 𝑥2 تدل أن الحل𝑥1 يهيمن على الحل 𝑥2 𝑥1 أي أرمز يدل على األسو ≻العملية 2 ⊀ 𝑥2 تدل أن الحل𝑥1 الحل من ليس أسوء 𝑥2 حسب ≤ أو ≥وتقابل عملية

max, minالهدف 𝑥1 رمز يدل على األفضل أي ≺العملية 3 ≻ 𝑥2 تدل أن الحل𝑥1 الحل أفضل من 𝑥2 حسب < أو> وتقابل عملية

max, minالهدف

Page 11: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 11 -

𝑷𝑭∗ (Front Pareto Optimal) المثلى باريتو واجهة 3.33.3.2∗𝑃𝐹 باريتو على أنها واجهة تعر ف ،∗𝑃من أجل مجموعة باريتو المثلى ≔ { 𝐹(𝑥) = (𝑓1(𝑥), 𝑓2(𝑥), … … … 𝑓𝑛(𝑥)) | 𝑥𝜖 𝑃∗}

𝑷𝑭𝑺∗ (Pareto Optimal Solutions)حلول باريتو المثلى 3.33.3.3، تعر ف حلول باريتو المثلى على ∗𝑃𝐹 ة باريتواجهو و ،∗𝑃من أجل مجموعة باريتو المثلى

∗𝑃𝐹𝑆أنها : ∶= {𝐹(𝑥) ∈ 𝑃𝐹∗ | ⇁ ∃ 𝑥′𝜖 𝑃∗ ∶ 𝐹(𝑥′) ≼ 𝐹(𝑥)}. باريتو تستخدم تعريف الهيمنة واجهاتللحصول على

ثلىباريتو الم حلولو المثلى باريتو وواجهة ثلىوضح مجموعة باريتو الم ي (2)الشكل

ارزميات الجينية متعددة األهداف الخو 3.33( Multi Objective Problem, MOP)تعددة األهداف إن تحديد الحل األمثل لمسألة م

عددة األهداف إليجاد حلول باريتو تستخدم الخوارزميات الجينية مت .ليست مهمة بسيطة CENSGAخوارزمية أحد أهم هذه الخوارزميات المعينة. MOPلـالمثلى

Sorting Genetic Algorithm) Controlled Elitist Nondominated) .قيدةة الم يحل مسائل األمثلفي التي تتميز بكفاءتها

CENSGAخوارزمية 3.33.3تقوم هذه الخوارزمية على .Deb et al [3] من قبل CENSGA الخوارزمية ت حر اقت

التحكم في هيمن ومقارنة االزدحام وأخيرا أربعة أجزاء أساسية تتمثل في النخبوية والفرز الم خوارزميات الجينية ذات الوهو الجزء الذي يميز هذه الخوارزمية عن غيرها من النخبوية

الفرز المهيمن : (n ≥ 1) فرد أو كروموسوم n بأفضلعملية االحتفاظ :هي[4] (Elitism) النخبوية -1

. النخبوية هميلع، دون تطبيق أي عملية جينية إلى الجيل التاليمن الجيل الحالي

.ثلىباريتو الم حلول المثلى باريتو وواجهة ثلىمجموعة باريتو الم (:2)الشكل

Page 12: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 12 -

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

عملية فرز الحلول إلى واجهات هي: (Nondominated Sorting)الفرز المهيمن -2 . باالعتماد على تعريف الهيمنة

هي عملية مقارنة و ، 𝑛≻بـ لهايرمز (: Crowded Comparison)مقارنة االزدحام -3 الحلول الختيار أفضلها باالعتماد على:بين

قدير تستخدم لت 𝑖𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒يرمز لها بـ (Crowding Distance)مسافة االزدحام -متوسط نحسب 𝑖لحل ل إليجاد مسافة االزدحام. كثافة الحلول المحيطة بحل معينبمثابة هذه المسافة تعتبر . من أجل كل هدف 𝑖 المسافة لنقطتين على جانبي النقطة

هذا المكعب رؤوستشكل . تأخر حل وال يحوي أي 𝑖 الحليحصر أكبر مكعبمقياس .𝑖 للحلمجاورة حلولباستخدام أقرب

التي تم الحصول عليها 𝑖𝑟𝑎𝑛𝑘يرمز لها بـ (Nondomination Rank)رتبة الهيمنة - من عملية فرز الحلول إلى واجهات.

𝑖 :كالتالي n≻يمكن أن نعرف العملية اآلن ≺𝑛 1𝑗 𝑖𝑓 (𝑖𝑟𝑎𝑛𝑘 < 𝑗𝑟𝑎𝑛𝑘) 𝑜𝑟 ((𝑖𝑟𝑎𝑛𝑘 = 𝑗𝑟𝑎𝑛𝑘)𝑎𝑛𝑑(𝑖𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 > 𝑗𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒))

في مختلف مراحل خوارزمية الحلول توجه عملية اختيارفي تساعد مقارنة االزدحام CENSGA واجهة باريتو المثلى. نحو

قيد عدد الحلول المختارة من أفضل جبهة مهيمنة هي آلية ت :[3] التحكم في النخبوية -4، بما يعرف جبهات الحالية المشاركة في إيجاد الحل األمثلالحالية، مما يسمح لجميع

المختارة الحد األقصى المسموح به لألفرادتمثل (1) بالتنوع الجانبي للحلول. العالقة𝑙 (𝑙من الواجهة = 1,2 … . , 𝐾) 𝑛𝑙 = 𝑁 1 − 𝑟1 − 𝑟𝑘 𝑟𝑙−1 (1)

𝑟 : 𝑟 الجديدة 𝑃𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛 عدد الحلول في الـ:𝑁 و عدد الواجهات𝐾 : حيث < يتم تحديده من قبل المستخدم وسيطنسبة التقليل وهو 1

1 𝑖 ≺𝑛 𝑗 : تشير إلى أن الحل𝑖 أفضل من الحل 𝑗

Page 13: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 13 -

( نميز الحاالت:1من العالقة ) إذا كان عدد حلول الواجهة 𝑙يساوي العدد المحدد 𝑛𝑙 نختار جميع حلول الواجهة𝑙 إذا كان عدد حلول الواجهة 𝑙 أكبر من العدد المحدد𝑛𝑙 نختار𝑛𝑙 𝑙من حلول الواجهة

باستخدام عملية مقارنة االزدحام.

ذا كان عدد حلول الواجهة إ 𝑙 أصغر من العدد المحدد𝑛𝑙 الواجهة نختار جميع حلول 𝑙 .𝑛𝑙+1إلى إضافة الفرق يتم و في CENSGA آلية عمل خوارزمية توضيحاألساسية يمكننا اآلن جزاءهذه األ مع

, 𝑃0تمثل اآلباء 𝑁دائية من الحجمتباالبداية يتم إنشاء وبشكل عشوائي مجموعة حلول (Mutation) والطفرة (Crossover)العبور :هيوالتي باالستفادة من العمليات الجينية

حلول من يتم إنشاء(Binary Tournament Selection) ينائاالختيار التنافسي الثو 𝑅0, ثم يتم تشكيل المجموعة 𝑄0تمثل األبناء 𝑁الحجم = 𝑃0 ∪ 𝑄0 2الحجم من𝑁

الحفاظ على الحلول النخبوية ومنع فقدان الحلول ضمنوهذا ما ي، 𝑃0 و𝑄0بالجمع بينإجرائية الفرز استخدامب في واجهات باريتو 𝑅0تف رز الحلول .الجيدة بمجرد العثور عليها

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

هذا يقودنا. 𝑛≻االزدحاماالختيار هنا تقوم على مقارنة ، عمليةباختيارها من كل واجهة. تكرر الخطوات السابقة حتى نصل إلى شرط 𝑁من الحجم 𝑃1إلى تشكيل جيل جديد

التوقف المتمثل إما بعدد معين من األجيال أو الوصول إلى الحل األمثل. ومناقشتها النتائج 3

الذي يصف البيئة رياضيالنموذج الفي البداية سنقوم بتوصيف مسألة الجدولة وصياغة نا سنقترح كما أن .ضعهانالتي س يودالق الفرضيات و التي سنتعامل معها بحيث يناسب

عديالت جديدة على توبعد ذلك نقوم باقتراح .رياضيالنموذج التحاكي عشوائية خوارزمية ثم نوجد حل لمسألة الجدولة المطروحة وذلك ضمن ،CESNGA خوارزميةآلية عمل

نقارن بين الحلول التي س المعد لة. أخيرا MCESNGAبيئة الماتالب باستخدام خوارزمية وخوارزمية CESNGAوخوارزمية الخوارزمية العشوائية حصلنا عليها من

Page 14: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 14 -

MCESNGA سنقوم بعرض نتائج . باإلضافة إلى ذلك منا باقتراحهاالتي ق المعد لة التقييم. توصيف مسألة الجدولة 3.3

:تيف مسألة الجدولة متعدد األهداف على الشكل اآلييمكن توص غير ين متعدد المعالجات الحقيقي الل زمنالجدولة للنظام ال 1ما هي أفضل القيم لوسطاء" " متجانسة التي تحقق دوال الهدف المطلوبة وذلك ضمن القيود المفروضةال

فرضيات المسألة المدروسة: متجانسة الغير نظام متعدد المعالجات المهام غير شفعيةNon-Preemptive

كل معالج يعالج مهمة واحدة فقط في كل مرة

تتم معالجة كل مهمة على معالج واحد فقط ال يسمح بتكرار تنفيذ المهام

(تنفذان على معالج واحد في نفس الوقت مهمتين أنيمكن ل فالالتعيين على معالج واحد ) وقت الحساب و الـDeadline Absolute لكل مهمة يكون معلوما

تكلفة االتصال بين المهام تكون معلومة

دوال الهدف للمسألة المدروسة: تعاملنا في دراستنا مع هدفين من أهداف الجدولة:

الهدف األول 𝑓1 تقليل عدد المعالجات المستخدمة

الهدف الثاني 𝑓2 تقليل زمن التأخير الكلي (Total Tardiness) المسألة المدروسة: وسطاء

: التالية وسطاءالتي تعاملنا معها نجد ال أهداف الجدولةمن Mالمستخدمة عدد المعالجات

tis وقت البدء الفعلي لتنفيذ المهمةi tijc االتصال بين المعالجات من أجل المهمة وسيطi و j

xim تعيين المهمة وسيطi معالج على𝑚

.متغيرات القرار للمسألة المدروسة 1

Page 15: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 15 -

قيود المسألة المدروسة: الذي يعتمد على تبعية المهامقيد األسبقية

قيد عدد المعالجات المستخدمة بحيث ال تتجاوز عدد المهام المجدولة النموذج الرياضي 3.2

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

تم متعدد المعالجات اللين حقيقي ال زمنالالمقترح لمسألة الجدولة لنظام الرياضي نموذجاللتناسب على األهداف والقيود إضافة بعض التعديالتب لكننا قمنا [16]و [15] طرحه في

، وهذا النموذج كالتالي:مسألتنا المدروسة 𝑚𝑖𝑛 𝑓1 = 𝑀 𝑚𝑖𝑛 𝑓2 = ∑ max {0,𝑁𝑖=1 ∑ (𝑡𝑖𝑠 𝑀𝑚=1 + 𝑐𝑖𝑚 − 𝑑𝑖). 𝑥𝑖𝑚}. (1) 𝑡𝑖𝐸 ≤ 𝑡𝑖𝑆 ≤ 𝑑𝑖 ∀𝑖 s.t (2) 𝑡𝑖𝐸 ≥ 𝑡𝑗𝐸 + ∑ (𝑐𝑗𝑚 + 𝑡𝑗𝑖𝑐 )𝑀𝑚=1 . 𝑥𝑗𝑚 ; 𝜏𝑗 ∈ 𝑝𝑟𝑒(𝜏𝑖) ∀𝑖 + (3) 1 ≤ 𝑀 ≤ 𝑁 (4) ∑ 𝑥𝑖𝑚𝑀𝑚=1 = 1 ∀𝑖. 𝑥𝑖𝑚𝜖 {0,1} 𝑎𝑛𝑑 𝑡𝑗𝑖𝑐 𝜖 {0, 𝑒𝑖𝑗}

𝑡𝑖𝐸 حيث أن: = { 0 𝑖𝑓 ∄ 𝜏𝑗: (𝜏𝑖 , 𝜏𝑗) 𝜖 𝐸max 𝜏𝑗 ϵ Pre∗(𝜏𝑖 ) {𝑡𝑗𝑆 + ∑ (𝑐𝑗𝑚 + 𝑡𝑗𝑖𝑐 )𝑀𝑚=1 . 𝑥𝑗𝑚 } 0𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 ∀𝑖. 𝑡𝑖𝑙 = 𝑑𝑖 − ∑ 𝑐𝑖𝑚𝑀𝑚=1 . 𝑥𝑖𝑚 . 𝑡𝑖𝐹 = 𝑡𝑖𝑆 + ∑ 𝑐𝑖𝑚𝑀𝑚=1 . 𝑥𝑖𝑚 . 𝑥𝑖𝑚 = { 1 𝑖𝑓 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑜𝑟 𝑝𝑚 𝑖𝑠 𝑠𝑒𝑙𝑒𝑐𝑡𝑒𝑑 𝑓𝑜𝑟 𝑡𝑎𝑠𝑘 𝜏𝑖0 0𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

𝑡𝑖𝑗𝑐 = { 0 𝑖𝑓 𝑡𝑎𝑠𝑘 𝜏𝑖 𝑎𝑛𝑑 𝑡𝑎𝑠𝑘 𝜏𝑗𝑎𝑟𝑒 𝑎𝑠𝑠𝑖𝑔𝑛𝑒𝑑 𝑡𝑜 𝑠𝑎𝑚𝑒 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑜𝑟 𝑔𝑖𝑗 0𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 𝑑𝑖 = 𝑡𝑖𝐸 + max{𝑐𝑖𝑚 ∀ 𝑚} + 𝜆 : 𝑗, 𝑖 أدلة تشير إلى رقم المهمة ; 𝑗, 𝑖 = {1,2, … … 𝑁} : 𝑚 دليل يشير إلى رقم المعالج ; 𝑚 = {1,2, … … 𝑀}

Page 16: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 16 -

المقترحةالعشوائية الخوارزمية 3.3في الفقرة ناهرحاقتخوارزمية تحاكي النموذج الرياضي الذي اقتراحبقمنا في هذا القسم

هذه . تقوم(Random Algorithm, RA)أطلقنا عليها الخوارزمية العشوائية 4.2آخذين [16]و [15]ة الترميز وفك الترميز الواردة فيالخوارزمية على المزاوجة بين آلي

RAخوارزمية تولد. 4.1الفقرة الواردة في مسألة الجدولة وقيود فرضيات بعين االعتبار,𝑣جزأين يتكون كل حل من .حلول عشوائية المقترحة 𝑢 الجزء .𝑢 (المتجه األول) الذي

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

𝑓 دالة المالئمة هي الثنائية 1 = ( 𝑓1, 𝑓2) أي تمثل دوال الهدف للمسألة المدروسة

: 𝑁 عدد المهام و : 𝑀 عدد المعالجات 𝐺 = (𝑇, 𝐸, 𝑐, 𝑔) غير دائري وهو بيان موجهة مخطط المهام (Directed Acyclic

Graph, DAG) حيث𝐺 يمثل البرنامج المنفذ 𝑇 = {𝜏1, 𝜏2, … 𝜏𝑁} مجموعة المهام 𝐸 = {𝑒𝑖𝑗} شرط أن مجموعة األضالع الموجه بين المهام𝑗 ≠ 𝑖 𝑐(𝜏𝑖, 𝑚) = 𝑐𝑖𝑚 زمن تنفيذ المهمة𝑖 على المعالج𝑚 𝑔(𝜏𝑖, 𝜏𝑗) = 𝑔𝑖𝑗 تكلفة االتصال من أجل المهمة 𝑖 و المهمة𝑗 𝑃 = {𝑝1, 𝑝2, … 𝑝𝑀} تمجموعة من المعالجا : 𝑃𝑟𝑒∗(𝜏𝑖) المهام السلف للمهمةكل مجموعة𝑖 : 𝑃𝑟𝑒(𝜏𝑖) ةللمهم مباشرة مجموعة المهام السلف 𝑖 : 𝑑𝑖 الـAbsolute 𝐷𝑒𝑎𝑑𝑙𝑖𝑛𝑒 المطلق للمهمة الموعد النهائي 𝑖 : 𝜆 ثابت يضمن عدم اضطراب النظام عن حدوث خلل في مراكز البيانات أو تأخر : .تعطل أحد المعالجات وما إلى ذلكاالتصال أو 𝑡𝑖𝐸 : 𝑖 (Earliest Start Time)أبكر وقت لبدء تنفيذ المهمة 𝑡𝑖𝑆 زمن البدء الفعلي لتنفيذ المهمة𝑖 (Real Start Time ) : 𝑡𝑖𝑙 : 𝑖 ( (Latest Start Time أخر زمن لبدء تنفيذ المهمة 𝑡𝑖𝐹 زمن انتهاء تنفيذ المهمة 𝑖 ((Finish Time

Page 17: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 17 -

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

تي: اآل (Pseudocode) الزائفAlgorithm: Random Algorithm 𝐈𝐧𝐩𝐮𝐭 قيمة ابتدائية لعدد المعالجات // ∶ task graph data set , initial value of M = 2

𝛼ثابت يسمح بزيادة عدد المعالجات // = 0.2 Output : 𝑉[ 𝑢 ; 𝑣 ], 𝑀 , 𝑆𝑐ℎ𝑒𝑑𝑢𝑙𝑒 𝑠𝑒𝑡 S , total number of processor used 𝑓1, total tardiness of task 𝑓2

//يمثل تسلسل عشوائي للمهام الذي 𝑢إنشاء المتجه 1: create 𝑢

𝐼 ⟵ 1 , 𝑤 ⟵ { } 𝑇 مجموعة المهام 𝑾𝒉𝒊𝒍𝒆 𝑇 ≠ ∅ //

w // مجموعة المهام التي ال تسبقها أي مهمة )الجذور أو المهام اآلباء( ← w ∪ { 𝑖 ∶ 𝑃𝑟𝑒∗(𝜏𝑖) = ∅ , ∀𝑖}

𝑇 // 𝑇 من مجموعة المهام wحذف المهام اآلباء ← 𝑇 − w 𝑾𝒉𝒊𝒍𝒆 𝑤 ≠ ∅

j من jاختيار مهمة عشوائية ← r𝑎𝑛𝑑𝑜𝑚(𝑤) // 𝑤 u(l) ← 𝑗

𝑤 // 𝑤 من jحذف المهمة ← 𝑤 − 𝑗

l ← l + 1 // 𝑖 من أسبقيات المهمة jإزالة المهمة

𝑝𝑟𝑒∗(𝑇𝑖) ⟵ 𝑝𝑟𝑒∗(𝑇𝑖) − {𝑇𝑗} ∀𝑖; 𝒆𝒏𝒅 𝑾𝒉𝒊𝒍𝒆 𝒆𝒏𝒅 𝑾𝒉𝒊𝒍𝒆

2: create 𝑣 𝑎𝑛𝑑 Calculate 𝑓1, 𝑓2, 𝑆 𝐼 ⟵ 1 , 𝑡m ⟵ 0 , 𝑖𝑑𝑙𝑒𝑚𝑖 ⟵ { } ∀𝑚 , 𝑓1 ⟵ 0 , 𝑓2 ⟵ 0 , 𝑆 ⟵ { } 𝑡m / * الزمن الذي ينتهي فيه المعالج من تنفيذ مهمة معينة * / 𝑖𝑑𝑙𝑒𝑚𝑖 مقدار الخمول الذي تسببه المهمة 𝑖 على المعالج𝑚 𝒘𝒉𝒊𝒍𝒆( 𝐼 ≤ 𝑵)

𝑖 //𝑖 المهمة رقم ⟵ 𝑢(𝐼); 𝑚 ⟵ 𝑟𝑎𝑛𝑑𝑜𝑚[1, 𝑀]; // اختيار معالج عشوائي

Page 18: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 18 -

𝑖 // 𝑡𝑖𝐸حساب أبكر وقت للمهمة ⟵ { 0 𝑖𝑓 ∄ 𝜏𝑗: (𝜏𝑖 , 𝜏𝑗) 𝜖 𝐸max 𝜏𝑗 ϵ Pre∗(𝜏𝑖 ) {𝑡𝑗𝑆 + ∑ (𝑐𝑗𝑚 + 𝑡𝑗𝑖𝑐 )𝑀𝑚=1 . 𝑥𝑗𝑚 } 0𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 ∀𝑖 .

𝑖 // 𝑑𝑖للمهمة deadlineحساب ⟵ 𝑡𝑖𝐸 + max{𝑐𝑖𝑚 ∀ 𝑚} + 𝜆 𝑖 // 𝑡𝑖𝑙بدء تنفيذ المهمة تأخير زمن مسموح به أخر زمن تعيين ⟵ 𝑑i − ∑ 𝑐𝑖𝑚𝑀𝑚=1 . 𝑥𝑖𝑚 𝒊𝒇 (𝑡𝑚 ⟵ 0)

𝑖 // 𝑓1 حساب الهدف األول من أجل المهمة ⟵ 𝑓1 + 1 𝒆𝒏𝒅 𝒊𝒇

𝑚 // 𝒊𝒇 ( 𝑡m على المعالج 𝑖ين المهمة يشرط تع < 𝑡𝑖𝐸) 𝑡𝑖𝑆 ⟵ 𝑡𝑖𝐸 𝑖𝑑𝑙𝑒𝑚𝑖 ⟵ 𝑖𝑑𝑙𝑒𝑚𝑖 + (𝑡𝑖𝑆 − 𝑡m) 𝒆𝒍𝒔𝒆

𝑡𝑖𝑆 ⟵ 𝑡m 𝒆𝒏𝒅 𝒊𝒇

𝒊𝒇 ( 𝑡𝑖𝑆 // أخر زمن لبدء تنفيذها 𝑖حالة تجاوز المهمة > 𝑡𝑖𝐿) m // 𝐼𝑑𝑙𝑒الترتيب التنازلي لفترات خمول المعالج ⟵ 𝑠𝑜𝑟𝑡(𝑖𝑑𝑙𝑒 (: , 𝑚),′ 𝑑𝑒𝑠𝑐𝑒𝑛𝑑′)

𝒊𝒇 ( Idle(1)/𝑐i شرط إضافة معالج // < 𝛼) 𝑀إضافة معالج// ⟵ 𝑀 + 1; 𝑚 ⟵ 𝑀; 𝑡𝑖𝑠 = 𝑡𝑖𝐸 𝑖𝑑𝑙𝑒𝑚𝑖 ⟵ 𝑖𝑑𝑙𝑒𝑚𝑖 + 𝑡𝑖𝐸;

𝒊𝒇 (𝑡𝑚 ⟵ 0) 𝑓1 ⟵ 𝑓1 + 1 𝒆𝒏𝒅 𝒊𝒇

insert // 𝒆𝒍𝒔𝒆 𝒊𝒇(𝐼𝑑𝑙𝑒 شرط عملية ≥ 𝑐im& 𝑖𝑑𝑙𝑒𝑚𝑖 𝑠𝑡𝑎𝑟𝑡 𝑡𝑖𝑚𝑒 ≤ 𝑡𝑖𝐸) 𝑖𝑛𝑠𝑒𝑟𝑡(𝑖); 𝑢𝑝𝑑𝑎𝑡𝑒_𝑖𝑑𝑙𝑒( ); 𝒆𝒍𝒔𝒆 𝑠𝑡𝑎𝑟𝑡(𝑖) 𝒆𝒏𝒅 𝒊𝒇 𝒆𝒏𝒅 𝒊𝒇

𝑚 𝑡𝑖𝑚𝐹 على المعالج 𝑖زمن انتهاء المهمة ⟵ 𝑡𝑖𝑆 + 𝑐i //

Page 19: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 19 -

𝑡m ⟵ max {𝑡𝑖𝑚𝐹 } 𝑣(𝐼) ⟵ 𝑚; 𝑓2 ⟵ 𝑓2 + max {0, (𝑡𝑖𝑠 + 𝑐𝑖𝑚 − 𝑑𝑖)}; // حساب الهدف الثاني

𝑠 ⟵ 𝑠 ∪ {(𝑖, 𝑚: 𝑡𝑖𝑠 − 𝑡𝑖𝑚𝐹 )}; // s مجدول المهام 𝑬𝒏𝒅 𝑾𝒉𝒊𝒍𝒆 مثال توضيحي 3.3.3

مثل ي (3)الشكل التي اقترحناها. RA عمل خوارزمية الـنعرض في المثال التالي آلية خطط المهام م

:ليكما ي الذي يمثل أسبقية المهام 𝑢المتجهيتم توليد RA بتطبيق

على المعالجات بشكل عشوائي مع سبقيتها توزيع المهام حسب أ يتم 𝑢بعد توليد المتجه : 𝑣فينتج المتجه (1الجدول) لهذه المهام Absolute 𝐷𝑒𝑎𝑑𝑙𝑖𝑛𝑒مراعاة أبكر وقت و الـ

بيانات المهام :1 جدول

الذي يبين وقت البدء ووقت االنتهاء لكل مهمة علىو RA نتائج تنفيذ (2) الجدولوضح ي

.المعالج المخصص لها

7 2 5 4 6 1 3 u

𝑐𝑖 𝑑𝑖 𝑡𝑖𝐸 Task 𝑐3 𝑐2 𝑐1 7 3 2 10 0 𝜏1 4 11 12 24 4 𝜏2 6 12 10 15 0 𝜏3 2 8 10 30 16 𝜏4 8 12 6 42 19 𝜏5 8 19 22 37 0 𝜏6 5 4 5 48 36 𝜏7

3 3 3 3 2 1 2 𝑣

.مهام 3لـ DAG :(3) الشكل

مجدول المهام: 2جدول

Page 20: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 20 -

𝑓2 تكون كاآلتي: 𝑓2التأخير الكلي ومقدار 𝑓1عدد المعالجات المستهلكة وبالتالي يكون = 0 𝑓1 = 3

= utilization من نتائج التنفيذ أن:نالحظ 0.4228 Makspan = 41 TotalIdle = 71 حالت دون حدوث insertعملية الـ كما هو واضح أن .خطط غانتم (4) الشكل بيني

𝑓2 تأخير في تنفيذ المهمة الثانية مما جعل قيمة التأخير الكلي ال كان مقدار ،معدومة وا .insertدون تطبيق عملية الـ 14التأخير الكلي

دائية لخوارزمية تبابمثابة حلول RAالحلول التي تولدها خوارزمية في بحثنا أن سنعتبرCESNGA وخوارزميةMCESNGA اباقتراحهمنا ق التي المعدلة.

عدلةالم MCENSGAخوارزمية 3.3 MCENSGAنموذج الخوارزمية التي اقترحنا إن

Sorting Genetic Algorithm) Modified Controlled Elitist Nondominated) في مرحلة التعديللكن يظهر بالعمليات األساسية. CENSGAال يختلف عن خوارزمية من التي تمتلك نفس قيمة دالة المالئمة منع الحلول المكررة ل التحكم بالنخبوية، وذلك

در اإلمكان لزيادة التنوع من الواجهات ق هااختيار تقليل و االستيالء على فضاء البحثاختيار أن ( 3.11.1الفقرة ) سابقا بينا توليد حلول جديدة.باإلضافة إلى ،للحلولالجانبي

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

.[5]كروموسومات متشابهة لكن الحلول المتشابه قد ال تمتلك. استقرار مسافة االزدحامآلية مسافة االزدحام تطبيق مقترحة ال MCENSGAفي خوارزمية سنحاول لذلك جميع الواجهات من أجل في مرحلة التحكم بالنخبوية( [5] في التي تم اقتراحها) المستقرة

سنوضح فيما يلي الجزء المعدل من .حلوللل المهيمن فرزالالتي حصلنا عليها من عملية تقومالذي (Pseudocode) الرم از الزائف من خالل المقترحة MCENSGAخوارزمية

.(Gantt chartمخطط غانت ) :(4)لشكل ا

Page 21: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 21 -

باإلضافة إلىللحلول قبل حساب مسافة االزدحام 1على إجراء عملية الفلترة الفريدة فكرته على الحلول الفريدة : بناء تتم عملية االختيار أن

MCENSGA MCENSGA The Modified Part of خوارزميةعدل من الجزء الم 𝑈𝑛𝑖𝑞𝑢𝑒_𝑅(𝑡) :1الفريدة لـ الفلترة ← 𝑈𝑛𝑖𝑞𝑢𝑒 𝑜𝑓 𝑅(𝑡) 𝑏𝑎𝑠𝑒𝑑 𝑜𝑛 𝑓𝑗(R) // R(t)

ـ 𝑈𝑛𝑖𝑞𝑢𝑒_𝑅(𝑡) //ـحساب مسافة االزدحام ل

2: Calculate stable Crowding Distance for Unique_R(t) ,𝑛 // 3: sort (𝑈𝑛𝑖𝑞𝑢𝑒𝑅(𝑡)≻الفرز الفريد للحلول باستخدام عملية مقارنة االزدحام ≺𝑛)

4: 𝐖𝐡𝐢𝐥𝐞 |P(t + 1)| ≤ size Population ∕∕ 𝑃𝑡+1 عدد عناصر 𝑭𝒐𝒓 𝑖 :5عدد الواجهات ← 1 𝒕𝒐 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 fronts ∕∕

⧵⧵عدد الحلول المختارة من الواجهة 𝑖

6: 𝑛𝑖 ← Calculate Maximum by relationship (1) 𝑃(𝑡 اختيار حلول الجيل الجديد + 𝑛𝑖 ⧵⧵ باالعتماد على 𝑈𝑛𝑖𝑞𝑢𝑒_𝑅(𝑡)من (1

7: Select 𝑃(𝑡 + 1) 𝑓𝑟𝑜𝑚 𝑈𝑛𝑖𝑞𝑢𝑒_𝑅(𝑡) 𝑏𝑎𝑠𝑒𝑑 𝑜𝑛 𝑛𝑖 𝑛𝑖 //أصغر من العدد المحدد 𝑖 حالة عدد حلول الواجهة

8: 𝒊𝒇 |𝑓𝑟𝑜𝑛𝑡(𝑖) 𝑜𝑓 𝑈𝑛𝑖𝑞𝑢𝑒_𝑅(𝑡) | < 𝑛i 𝐺 ← [𝑓𝑟𝑜𝑛𝑡(𝑖) 𝑜𝑓 𝑈𝑛𝑖𝑞𝑢𝑒_𝑅(𝑡)] 𝛼 ← 𝑛𝑖 − |𝑓𝑟𝑜𝑛𝑡(𝑖) 𝑜𝑓 𝑈𝑛𝑖𝑞𝑢𝑒_𝑅(𝑡)| 𝑛𝑖+1 ← 𝑛𝑖+1 + 𝛼

//𝑛𝑖 أكبر أو يساوي العدد المحدد 𝑖 حالة عدد حلول الواجهة 𝑬𝒍𝒔𝒆 𝐺 ← 𝑓𝑟𝑜𝑛𝑡(𝑖) 𝑜𝑓 𝑈𝑛𝑖𝑞𝑢𝑒_𝑅(𝑡) [ 1: 𝑛𝑖]

9: 𝑬𝒏𝒅 𝒊𝒇

10: 𝑭𝒐𝒓 𝑙 ← 1 𝒕𝒐 |𝐺| 𝑇 ← { 𝑌 ∈ 𝑅(𝑡) | 𝑌 = 𝐺(𝑙) } 11: 12: 𝑃(𝑡 + 1) ← 𝑃(𝑡 + 1) ∪ 𝑟𝑎𝑛𝑑𝑠𝑎𝑚𝑝𝑙𝑒(𝑇, 1)

13: 𝑬𝒏𝒅 𝑭𝒐𝒓 14: 𝑬𝒏𝒅 𝑭𝒐𝒓

15: 𝑬𝒏𝒅 𝑾𝒉𝒊𝒍𝒆

الفلترة الفريدة : هي عملية إزالة التكرار من جميع الحلول 1

Page 22: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 22 -

العمليات الجينية 3.3.3العبور و (Selection)االختيار تخدمة في الخوارزميات الجينية هيالعمليات المهمة المس

(Crossover) والطفرة Mutation))لكل عملية هاحاقتر با التي قمنا . سنقوم بوصف اآللية. (Selection) االختيار 1.1.1.1

أمر بالغ األهمية بالنسبة (Parents)إن عملية اختيار اثنين من الكروموسومات األصل لمعدل تقارب الخوارزمية الجينية، حيث يدفع ذلك لحلول أفضل وأكثر مالئمة. مع ذلك يجب الحذر لمنع حل واحد مناسب بشدة من االستيالء على جميع الحلول خالل عدة

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

تدعى اختيار المنافسة الثنائية للمالئمة الفريدة [5] فيUnique Fitness Binary Tournament Selection))

( Crossoverالعبور ) 3.3.3.2تعد عملية العبور من العمليات الجينية المعقدة، والتي تحدث بين أزواج من

في هذه الدراسة نقترح .الكروموسومات. تستخدم عملية العبور إلدخال التنوع في الحلولهذه العملية (. فيOne-Cut Crossoverاستخدام آلية تدعى عبور القطعة الواحدة )

من خالل تزاوج اثنين من الكروموسومات (Offspring) يتم إنشاء كروموسومين جديدين (Parents) [15]األصل

( (Mutationلطفرةا 3.2.2.3 يمنع تضمن الحفاظ على التنوع في الحلول مماهي عملية عشوائية عملية الطفرة أثناء عملية (Local Optimal) 1من الوقوع في األمثلية المحلية جينيةالخوارزمية ال

البحث عن الحلول. يوجد عدة طرق لعملية الطفرة سيتم في هذا البحث استخدام طريقة . في هذه الطريقة يتم اختيار جين بشكل عشوائي Random Resettingالطفرة

𝑷𝒓𝒐𝒄𝒆𝒅𝒖𝒓𝒆 ويتم ذلك عن طريق اإلجراء التالي:عشوائي من الحدود المسموح بها. بعدد واستبداله ∶ 𝑅𝑎𝑛𝑑𝑜𝑚 Resetting 𝑀𝑢𝑡𝑎𝑡𝑖𝑜𝑛 𝑰𝒏𝒑𝒖𝒕: 𝑃𝑎𝑟𝑒𝑛𝑡𝑠 𝑢, 𝑣

األمثلية المحلية هي القيمة الصغرى )كبرى( محليا، وهنا تعنى قيمة صغرى كاذبة. 1

Page 23: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 23 -

𝑶𝒖𝒕𝒑𝒖𝒕: 𝑜𝑓𝑓𝑠𝑝𝑟𝑖𝑛𝑔 𝑢′, 𝑣′ 𝑩𝒆𝒈𝒊𝒏

𝑟1 //توليد رقم عشوائي ⟵ 𝑟𝑎𝑛𝑑𝑜𝑚[1, 𝑁]; 𝑟2 // توليد رقم عشوائي ⟵ 𝑟𝑎𝑛𝑑𝑜𝑚[1, 𝑁];

𝑣 // 𝑏1 توليد رقم عشوائي من عناصر ⟵ 𝑟𝑎𝑛𝑑𝑜𝑚[1, 𝑚]; 𝑣 // 𝑏2 توليد رقم عشوائي من عناصر ⟵ 𝑟𝑎𝑛𝑑𝑜𝑚[1, 𝑚]; 𝑢′ ⟵ 𝑢;

𝑣من 𝑟1تبديل العنصر 𝑏1 // 𝑣′(𝑟1)بـ ′ ⟵ 𝑏1; 𝑣من 𝑟2تبديل العنصر 𝑏2 // 𝑣 بـ ′ ′(𝑟2) ⟵ 𝑏2; 𝑬𝒏𝒅

Fitness))دالة المالئمة 3.3.3.3 إلىطفرة تحتاج وال عبورمن عملية الالناتجة (Offspring) ةالكروموسومات الجديد إن

سنعتمد هنا على آلية فك الترميز لذلك .لها (Fitness)إيجاد دالة المالئمة ب وذلكتقييم إن مع إضافة التعديالت التي تناسب فروض وقيود مسألتنا المطروحة. [16]الواردة في

لها قابلم جدول الالم وبناءات كروموسوملا قييمتتقوم ب (Decoding)إجرائية فك ترميز تي:اآل (Pseudocode)الرم از الزائف من خالل

procedure: Decoding for SRTs input: task graph data set, Chromosome u(·) , v (·)

output: Schedule set S, total number of processor used 𝑓1, total tardiness of

task 𝑓2

begin

𝐼 ⟵ 1, 𝑡𝑚 ⟵ 0, ∀m, 𝑖𝑑𝑙𝑒𝑚𝑖 ⟵ { }, ∀m, 𝑓1 ⟵ 𝟎, 𝑓2 ⟵ 𝟎, 𝑺 ⟵ { }; 𝒘𝒉𝒊𝒍𝒆( 𝐼 ≤ 𝑵) 𝒅𝒐; 𝑖 ⟵ 𝑢(𝐼); // 𝑢 متجه المهام 𝑚 ⟵ 𝑣(𝐼); // 𝑣 متجه المعالجات 𝒊𝒇 (𝑡𝑚 ⟵ 0) // حساب الهدف األول 𝑓1 ⟵ 𝑓1 + 1

𝒆𝒏𝒅 𝒊𝒇 𝑡𝑖𝐸 ⟵ { 0 𝑖𝑓 ∄ 𝜏𝑗: (𝜏𝑖, 𝜏𝑗) 𝜖 𝐸max 𝜏𝑗 ϵ Pre∗(𝜏𝑖 ) {𝑡𝑗𝑆 + ∑ (𝑐𝑗𝑚 + 𝑡𝑗𝑖𝑐 )𝑀𝑚=1 . 𝑥𝑗𝑚 } 0𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 ∀𝑖 𝑑𝑖 ⟵ 𝑡𝑖𝐸 + max{𝑐𝑖𝑚 ∀ 𝑚} + 𝜆 𝑡𝑖𝑙 ⟵ 𝑑i − ∑ 𝑐𝑖𝑚𝑀𝑚=1 . 𝑥𝑖𝑚 / 𝑚 //𝒊𝒇 ( 𝑡m على المعالج 𝑖ن المهمة يشرط تعي < 𝑡𝑖𝐸) 𝑡𝑖𝑆 ⟵ 𝑡𝑖𝐸 𝑖𝑑𝑙𝑒𝑚𝑖 ⟵ 𝑖𝑑𝑙𝑒𝑚𝑖 + (𝑡𝑖𝑆 − 𝑡m) 𝒆𝒍𝒔𝒆

Page 24: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 24 -

𝑡𝑖𝑆 ⟵ 𝑡m 𝒆𝒏𝒅 𝒊𝒇

𝒊𝒇 ( 𝑡𝑖𝑆// أخر زمن لبدء تنفيذها 𝑖حالة تجاوز المهمة > 𝑡𝑖𝐿) 𝒊𝒇(𝐼𝑑𝑙𝑒 ≥ 𝑐im& 𝑠𝑡𝑎𝑟𝑡 𝑡𝑖𝑚𝑒 𝑖𝑑𝑙𝑒𝑚𝑖 ≤ 𝑡𝑖𝐸) // insert شرط عملية الـ

𝑖𝑛𝑠𝑒𝑟𝑡(𝑖); 𝑢𝑝𝑑𝑎𝑡𝑒_𝑖𝑑𝑙𝑒( ); 𝒆𝒍𝒔𝒆 𝑠𝑡𝑎𝑟𝑡(𝑖); 𝒆𝒏𝒅 𝒊𝒇 𝒆𝒏𝒅 𝒊𝒇 𝑓2 ⟵ 𝑓2 + max {0, (𝑡𝑖𝑠 + 𝑐𝑖𝑚 − 𝑑𝑖)}; // حساب الهدف األول

𝑠 ⟵ 𝑠 ∪ {(𝑖, 𝑚: 𝑡𝑖𝑠 − 𝑡𝑖𝐹)}; // s مجدول المهام 𝐼 ⟵ 𝐼 + 1; 𝒆𝒏𝒅 𝑾𝒉𝒊𝒍𝒆 𝑬𝒏𝒅

𝐒𝐑𝐓𝐬 مهامالمعدلة لجدولة MCENSGAخوارزمية 3.3سنقوم بوصف خطوات MCENSGAبعد أن قدمنا اآلليات المقترحة لعمل خوارزمية

(Pseudocode)الرم از الزائف من خاللفي حل مسألة الجدولة عمل هذه الخوارزمية 𝑷𝒓𝒐𝒑𝒐𝒔𝒆𝒅 𝑨𝒍𝒈𝒐𝒓𝒊𝒕𝒉𝒎: 𝑀𝐶𝐸𝑁𝑆𝐺𝐴 𝑓𝑜𝑟 SRTs التالي:

Input : SRTs problem data , GA parameters Output : 𝑡ℎ𝑒 𝑏𝑒𝑠𝑡 𝑠𝑐ℎ𝑒𝑑𝑢𝑙𝑒 𝑠𝑒𝑡 𝑆, Pareto optimal solutions 𝑃𝐹𝑆∗

1: 𝑡 ⟵ 𝑡 الجيل الحالي // 02: Initialize Population P(t) and Calculate objectives 𝑓𝑗(P) , 𝑗 = 1,2 … … 𝑀

// by Random Algorithm ية باستخدام الخوارزمية العشوائيتوليد حلول عشوائ //فرز الحلول في واجهات

3: Assign Front P(t) by Nondominated Sorting routine r :4 بشكل عشوائي// توليد نسبة التقليل ← r𝑎𝑛𝑑[0,1]

5: While (not terminating condition) do // Calculate Crowding Distance for Unique_P(t) :6حساب مسافة االزدحام

//االختيارعملية 7: Create Population P′(t) by Unique Binary Tournament Selection 8: Create Child Population C(t) from P′(t) by One-Cut Crossover and

// Random Resetting Mutation عملية العبور وعملية الطفرة , Calculate objectives fj(C) :9عملية فك الترميز j = 1,2 … M by decoding routine //

R(t) :10األبناء دمج الحلول اآلباء مع الحلول ← P(t) ∪ C(t) //

Page 25: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 25 -

//فرز الحلول في واجهات

11: Assign Front for R(t) by Nondominated Sorting routine The Modified Part of MCENSGA (:12 4.4الفقرة 21صفحة )

3: t ← t + 1 1 14: 𝑬𝒏𝒅 𝑾𝒉𝒊𝒍𝒆

النتائج التجريبية 3.3لمحاكاة النتائج التجريبية التي توصلنا (𝑀𝐴𝑇𝐿𝐴𝐵 𝑅2015𝑎) بيئة الماتالب ستخدمسن

يتمس، وبعدها 𝐵𝑖𝑜𝑔𝑟𝑎𝑝ℎلتوليد مخطط مهام عشوائي سنوظف دالة .إليها خالل بحثناوزمن 𝑐𝑖𝑚 المهامتنفيذ خوارزمية المقترحة. من أجل زمن ال جدولة هذه المهام باستخدام

5متوسطه توزيع طبيعي ذاتعشوائية قيم نعتمد على، س𝜆والثابت 𝑔𝑖𝑗 المعالجات اتصالعلى 𝑐𝑖متوسطه توزيع طبيعي ذاتعشوائية قيمو [1,20]وقيم عشوائية ضمن المجال

. المعدلةتنا وخوارزمي CENSGAوسطاء خوارزمية (3)يوضح الجدول .التوالي MCENSGAوخوارزمية CENSGA وسطاء خوارزمية :3جدول

(4)الجدول. يوضح (5)تمثلة بالشكلمهام الم 10نتائج التجريبية لـ لحالة األولى: الا

في MCENSGA وخوارزمية CENSGAالنتائج بين الخوارزمية العشوائية وخوارزمية متوسط زمن التنفيذ ه بالرغم من أننالحظ أن .Tardiness)) حالة عدم وجود تأخر زمني

وهو أقل من زمن التنفيذ الكلي الناتج 42الكلي الناتج من الخوارزمية العشوائية يساوي على 43و 49والذي يساوي MCENSGA خوارزمية و CENSGAمن خوارزمية

استطاعت أن تقلل من MCENSGA و CENSGA الترتيب، إال أن كال الخوارزميتينعدد المعالجات المستخدمة إلى معالجين مقابل عدد المعالجات الناتج من الخوارزمية

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

,𝐍𝐮𝐦𝐛𝐞𝐫 𝐨𝐟 𝐏𝐨𝐩𝐮𝐥𝐚𝐭𝐢𝐨𝐧)حجم مجتمع الحلول 𝐧𝐩𝐨𝐩) 100 ,𝑪𝒓𝒐𝒔𝒔𝒐𝒗𝒆𝒓 𝑷𝒓𝒐𝒃𝒂𝒃𝒊𝒍𝒊𝒕𝒚)احتمال العبور 𝑷𝒄) 0.6 ,𝑴𝒖𝒕𝒂𝒕𝒊𝒐𝒏 𝑷𝒓𝒐𝒃𝒂𝒃𝒊𝒍𝒊𝒕𝒚 ) احتمال الطفرة 𝑷𝒎) 0.4 𝒓 0.65

200 شرط توقف الخوارزمية( عدد مرات التكرار)

Page 26: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 26 -

وخوارزمية CENSGAحصلنا عليه من خوارزميةمناسب على المعالجات مقارنة مع ما MCENSGA على المعالجات. 1وذلك بدون تحميل زائد

Tardinessمهام بدون وجود 10النتائج التجريبية لـ :3جدول

وخوارزمية CENSGAقارن بين أداء خوارزمية ت (8)و (7)و (6)األشكال MCENSGA خوارزمية أن عدد واجهات (6) الشكل. نالحظ من MCENSGA أكثر

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

ضح النسبة المئوية لعدد الحلول يو (7) الشكل .MCENSGA خوارزمية ويزداد في وصلت إلى النسبة MCENSGAتشغيلة وكما يبدو أن خوارزمية 200خالل الفريدةبين (8) الشكلأما .%30لم تتجاوز النسبة CENSGAفي حين أن خوارزمية 100%

ولدت MCENSGAكيفية انتشار الحلول في فضاء البحث حيث وجدنا أن خوارزمية .CENSGAحلول جديدة لم تظهر في خوارزمية

التحميل الزائد هو أن يكون متوسط استخدام المعالجات أكبر أو يساوي الواحد. 1

الخوارزمية العشوائية

CENSGA MCENSGA

2 2 4 العدد الكلي للمعالجات

متوسط زمن التنفيذ الكلي (Makespan)

42 49 43

متوسط االستخدام المعالجات (Utilization)

0.3810 0.7245 0.7093

لخمول الكليا قدارتوسط مم

(Total Idle) 104 27 25

.مهام 33لـ DAG: (5) الشكل

و CENSGAعدد الواجهات الناتجة من :(6) الشكلMCENSGA

.

للحلول الفريدة الناتجة منالنسبة المئوية :(7الشكل ) CENSGA و MCENSGA .من أجل كل تكرار

Page 27: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 27 -

(5)الجدول . يوضح(9)بالشكلتمثلة الم مهمة 100النتائج التجريبية لـ : نيةالحالة الثا وخوارزمية CENSGAلخوارزمية العشوائية وخوارزمية التي حصلنا عليها من االنتائج

MCENSGA في حالة عدم وجود تأخر زمني ((Tardiness. نالحظ أن خوارزميةMCENSGA وزمن التنفيذ 14استطاعت أن تخفض عدد المعالجات المستخدمة إلى

مقارنة مع الخوارزمية العشوائية 2604ومقدار الخمول الكلي إلى 222الكلي إلى لكن يبقى متوسط استخدام المعالجات الذي توصلت إليه .CENSGAوخوارزمية مقبول. MCENSGAخوارزمية

Tardinessمهمة بدون وجود 100النتائج التجريبية لـ :5جدول

الخوارزمية العشوائية

CENSGA MCENSGA

14 15 22 العدد الكلي للمعالجات

متوسط زمن التنفيذ الكلي

(Makespan ) 251 235 222

متوسط االستخدام المعالجات (Utilization)

0.1145 0.1558 0.1622

قدار الخمول الكليتوسط مم(Total Idle)

4890 2976 2604

في فضاء البحث من أجل كل تكرار. MCENSGAوخوارزمية CENSGAانتشار الحلول الناتجة من خوارزمية :(8)الشكل

مهمة 333لـ DAG: (9)الشكل

Page 28: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 28 -

وخوارزمية CENSGAتقارن بين أداء خوارزمية (12)و (11)و (10)األشكالMCENSGA خوارزمية أن عدد واجهات (10) الشكل. نالحظ من MCENSGA

في الواجهات يبقى نفسه الفريدةحيث عدد الحلول CENSGAأكثر من عدد واجهات خوارزمية ويزداد في CENSGAحتى الواجهة الرابعة لينخفض بعدها في خوارزمية

MCENSGA. 200خالل الفريدةوضح النسبة المئوية لعدد الحلول ي (11)الشكل في حين أن % 100 حافظت على النسبة MCENSGAتشغيلة وكما يبدو أن خوارزمية

انتشار الحلول في ظهري (12) الشكل. %70النسبة إلى تصللم CENSGAخوارزمية ولدت حلول جديدة لم تعطيها MCENSGAفضاء البحث حيث وجدنا أن خوارزمية

.CENSGAخوارزمية

CENSGAالزمن الذي تستغرقه كال من خوارزمية (14( و)13)تبرز األشكال مهمة على التوالي. 100و 10تشغيلة في حالة 200خالل MCENSGA وخوارزمية

و CENSGAعدد الواجهات الناتجة من : (10) الشكلMCENSGA.

(: النسبة المئوية للحلول الفريدة الناتجة من 11)الشكل CENSGA وMCENSGA من أجل كل تكرار.

في فضاء البحث من أجل كل تكرار.MCENSGA وخوارزمية CENSGAخوارزمية انتشار الحلول الناتجة من :)12الشكل )

Page 29: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 29 -

خوارزميةكما يبدو هناك تفاوت في زمن التنفيذ بين الخوارزميتين، حيث تستغرق MCENSGA في كثير من التكرارات زمن أكثر مقارنة مع خوارزميةCENSGA .

كرار بعملية فلترة للحلول تقوم في كل ت MCENSGA خوارزمية ذلك إلى أن يعود .CENSGAعلى حلول فريدة ومتنوعة وغير مكررة على عكس خوارزمية للحصول

الستنتاجات والتوصياتا 3مسألة هي اتمتعدد المعالجمهام نظام الوقت الحقيقي مسألة جدولة كما هو معروف فإن

.عامة يمكن أن تضمن الحل األمثل ةخوارزمي لم نتمكن من إيجاد. (NP-hard) مقعدةمع وجود تكاليف اللين نظام الوقت الحقيقيمهام لجدولة قدمنا آلية في هذا البحث

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

التي قمنا النتائج التجريبية سبق وفي ضوء ما بناء على . الحصول على حلول مجدية من :اآلتي بإجرائها يمكن أن نورد

عتبر هذه الحلول نو توليد حلول عشوائية، في الخوارزمية العشوائية يمكن االعتماد على .الخوارزميات الميتاهيروستيكية مدخالت ألي نوع منبمثابة

كل من خوارزمية تساهمCENSGA خوارزمية وMCENSGA في بشكل فعال الحلول الناتجة من الخوارزمية العشوائية. تحسين

CENSGAخوارزمية مهمة: زمن تنفيذ 33حالة (13) الشكل .من أجل كل تكرارMCENSGA وخوارزمية

CENSGAخوارزمية مهمة: زمن تنفيذ 333حالة (14) الشكل

.من أجل كل تكرارMCENSGA وخوارزمية

Page 30: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 30 -

خوارزمية نجحتCENSGA خوارزمية وMCENSGA الوصول إلى مجموعة فييختار بحيث هات باريتو، مثلى وأيضا قريبة من المثلى موزعة ضمن واجالمن الحلول

الذي يرغب ببنائه. يناسب النظام حال صاحب القرار

تفوقت خوارزميةMCENSGA خوارزمية على التي اقترحناهاCENSGA في زيادةللحلول وكان ذلك واضحا من خالل عدد الواجهات وكيفية انتشار التنوع الجانبي

له دور في عدم وقوع فتنوع الحلول في فضاء البحث لكال الخوارزميتين،الحلول (Local Optimal) في األمثلية المحلية MCENSGAخوارزمية

خوارزميةMCENSGA لها فرصة أكبر إلنتاج حلول جديدة ومتنوعة توفر أكبر قدرخوارزمية أكبر مقارنة بزمن تنفيذ تستغرق لكنها )المصمم( من المعلومات لصانع القرار

CENSGA.

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

Makespan) الخمول الكلي( ومقدار (Total Idle) .

:نقترح في األعمال المستقبلية .المدروسة زيادة عدد أهداف مسألة الجدولة .1

لحل المسائل المتعلقة بالجدولة وكذلك المقترحة MCENSGA استخدام خوارزمية .2 .وفعاليتها لكفاءتها نظرا NPمسائل أخرى من نوع

بشكل معالجة مسألة الجدولة بإضافة آلية هجرة المهام بين المعالجات لالستفادة .3 .المعالجات المستخدمةفترات خمول ن أكبر م

.مع خوارزميات أخرىالمقترحة MCENSGAمقارنة خوارزمية .4

Page 31: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 31 -

لمراجعا 3

[1] BUTTAZZO G, LIPARI G, ABENI L, CACCAMO M,

2005- Soft Real Time Systems: Predictability vs. Efficiency.

Springer Science and Business Media, 280p.

[2] COELLO CA , LAMONT GB, Van Veldhuizen DA, 2007-

Evolutionary Algorithms for Solving Multi-Objective

Problems. Springer, New York, 810p.

[3] DEB K, GOEL T, 2001, Controlled Elitist non-Dominated

Sorting Genetic Algorithms for Better Convergence, In

International Conference on Evolutionary Multi-Criterion

Optimization, 67-81

[4] DEB K, MEMBER A, PRATAP A, AGARWAL S,

MEYARIVAN T, 2002, A Fast and Elitist Multiobjective

Genetic Algorithm :NSGA-II, IEEE Transactions on

Evolutionary Computation, vol. 6. No.2,182-197

[5] FORTIN FA, PARIZEAU M, 2013, Revisiting The NSGA-II

Crowding Distance Computation, In Proceedings of the 15th

annual conference on genetic and evolutionary computation,

623-630

[6] HANGAN A, SEBESTYEN G, VACARIU L, 2014,

Multiprocessor Real-Time Scheduling Using an

Optimization-Based Technique, In Proceedings of the

International Joint Conference on Computational

Intelligence,Vol.1, 236-243

[7] JAIMES AL, MARTINEZ SZ, Coello CAC, 2009, An

Introduction to Multiobjective Optimization Techniques,

Optimization in Polymer Processing, Optimization in

Polymer Processing, 29–57

[8] KONAK A, COIT DW, SMITH AE, 2006, Multi objective

optimization using genetic algorithms: A tutorial, Reliability

Engineering & System Safety, Vol.91, No. 9, 992-1007

[9] LAPLANTE PA, 2004- Real-Time Systems Design and

Analysis, Wiley, New York, 530p

[10] MIRYANI MR, NAGHIBZADEH M, 2009, Real-Time

Scheduling in Heterogeneous Systems Considering Cache

Page 32: à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ùjude.edu.sy/assets/uploads/employees/scientific...à î Ú ÙU ì Ò î Ò ÙU à Ý ª ÙU n æw Ý Ùq ¤ Ù î Ý`_U

- 32 -

Reload Time Using Genetic Algorithms, In International

Embedded System Symposium, 115-126.

[11] MOHAMMADI A, Akl SG, 2005, Scheduling Algorithms

for Real-Time Systems. School of Computing Queens

University, Tech.

[12] SEDAGHAT N, TABATABAEE H, AKBARZADEH MRT,

2014, A 2-DIMENTIONAL CROSSOVER FOR MULTI-

OBJECTIVE EVOLUTIONARY SCHEDULING OF SOFT

REAL-TIME TASKS, Sci. Res, Vol. 4, No.3, 318–334.

[13] SINNEN O, 2007- Task scheduling for parallel systems, John Wiley , Sons, 315p

[14] Yalaoui F, Chu C, 2002, Parallel Machine Scheduling to

Minimize Total Tardiness, International Journal of

Production Economics, Vol. 76, No. 3, 265–279.

[15] Yoo M, 2016, Real-time Task Scheduling in Heterogeneous

Multiprocessors System Using Hybrid Genetic Algorithm,

Journal of Communication and Computer, Vol. 13, 103–115.

[16] YOO M, YOKOYAMA T, 2016, Multiobjective GA for Real

Time Task Scheduling, In Proceedings of the International

MultiConference of Engineers and Computer Scientists, Vol.

1.

[17] YOO M, YOKOYAMA T, 2018, GENETIC ALGORITHM

WITH TWO OBJECTIVE FOR REAL-TIME TASK,

International Journal of Students’ Research in Technology,

Management, Vol. 6, No.1, 14–17.


Recommended