شبكة بحوث وتقارير ومعلومات
تجربة هيدر2
اليوم: الخميس 18 ابريل 2024 , الساعة: 11:57 ص


اخر المشاهدات
الأكثر قراءة
اعلانات

مرحبا بكم في شبكة بحوث وتقارير ومعلومات


عزيزي زائر شبكة بحوث وتقارير ومعلومات.. تم إعداد وإختيار هذا الموضوع مسألة البائع المتجول تعريف # اخر تحديث اليوم 2024-04-18 فإن كان لديك ملاحظة او توجيه يمكنك مراسلتنا من خلال الخيارات الموجودة بالموضوع.. وكذلك يمكنك زيارة القسم , وهنا نبذه عنها وتصفح المواضيع المتنوعه... آخر تحديث للمعلومات بتاريخ اليوم 25/10/2023

اعلانات

مسألة البائع المتجول تعريف # اخر تحديث اليوم 2024-04-18

آخر تحديث منذ 5 شهر و 26 يوم
1 مشاهدة

تعريف


ليكن G (V,A) مبيان مخطوطا حيث تمثل V مجموعة الرؤوس (vertices) و-A مجموعة الأضلاع (edges). ولتكن C (c_ ij ) مصفوفة الأوزان أو الأطوال أي أنه c_ ij هو الوزن الذي على الضلع الذي بين i و- j أو طول الضلع. ومسألة البائع المتجول حينها تسأل اذا ما هناك دائرة تعبر في كل رأس مرة واحدة فقط حيث أن وزن الدائرة اقل ما يمكن ؟

ملاحظات




  • تسمى الدائرة التي نريدها دائرة هاملتونية

  • في بعض المسائل سيتعين علينا أن نميز بين مصفوفة أطوال متناظرة اي forall i,j in V, c_ ij c_ ji وبين مصفوفة غير متناظرة

  • خاصية غير الزامية للمصفوفة C هي خاصية متباينة المثلث وهي forall i,j,k in V , c_ ij +c_ jk ge c_ ik


وهذه الخاصية تتبين في مسألة البائع المتجول الاقليدية اي عندما تكون الرؤوس نقاط في mathbb R ^2 والاطوال بين الرؤوس اي اطوال الأضلاع هو البعد الاقليدي اي انه اذا v (x_1,y_1) , u (x_2,y_2) حينها طول الضلع uv هو d_ uv sqrt (x_1-x_2)^2+(y_1-y_2)^2

NP كاملة


لقد تبين ان مسألة البائع المتجول هي مسألة كاملة بالنسبة ل-NP , بحيث انه يوجد دالة تحويل او اختصار (reduction function) بين الحد الأدنى للدائرة الهاملتونية وهذه المسألة


لنفرض انه معطى معنا مُدخل لمسألة الدائرة الهاملتونية(HC) نريد ان نبني اختصار بوقت حدودي والمُدخل لمسألة HC هو مُخطط G (V,A) بحيث ان V 1,...,n ,A (i,j) نبني مُدخل لمسألة TSP بالشكل التالي نبني مُخطط G , بحيث ان مجموعة الرؤوس هي V اما مجموعة الأضلاع هي A' (i,j) i,j 1,...,n,i
eq j و c_ ij 1 اذا (i,j) in A و- c_ ij infty
في سائر الأحوال , وحينها المخطط G يحوي دائرة هاملتونية اذا وفقط اذا قيمة مُدخل TSP هي n


مسائل TSP سهلة




  1. اذا كانت مصفوفة الأطوال مصفوفة مثلثة عُلوية اي forall i ge j , c_ ij 0

  2. اذا كان المخطط , G , شجرة او مسار او دائرة او نجمة حينها أيضا يمكن حل المسألة بسهولة

  3. نعرف مصفوفة C ان تكون صغيرة اذا forall i in 1,...,n ,exists a_i,b_i c_ ij min a_i,b_j forall i,j in [n] حينها اذا كانت مصفوفة الأطوال صغيرة يمكن حل المسألة بوقت O(n)


خوارزميات دقيقة لحل المسألة


الحل المفهوم ضمنا وهو انتاج كل المسارات الدائرية ثم اختيار الأفضل هو حل غير قابل للتشغيل بسرعة إذ ان تعقيده O(n!) واذا كان فقط n 60 حينها سيكون هنالك احتمالات اكثر من ان نستطيع ان ننتجها(حدود الطاقة الحسابية للبشر على مر العصور هو 2^ 80 وهذا العدد اصغر بكثير من 60! ) ولان الحل الجشع لا يمكن انتاجه بجودة عالية وسرعة ملائمة تم تطوير الكثير من الوسائل لحل المسألة وسنعدد بعضها

البرمجة الخطية


طور فلكرسون وجونسون ودانتزيج هذه الطريقة وهي لكل ضلع في المخطط نخصص متغير x_ ij وهو 1 اذا وفقط اذا الضلع من ضمن الحل الأفضل للمسألة وقد كان تعريف مسألة البرمجة الخطية كالتالي

sum_ i
eq j c_ ij x_ ij Minimize





Subject to







  1. sum_ j 1 ^n x_ ij 1 ,i 1,...,n


  2. sum_ i 1 ^n x_ ij 1 ,j 1,...,n


  3. sum_ i,jin S ^n x_ ij leq S -1,Ssubset V ,2 le S le n-2


  4. x_ ij in 0,1 ,i,j 1,...,n,i
    eq j



توضيحات




  1. من الواضح ان دالة الهدف هي مقياس لوزن الدائرة التي نريد ايجادها , وذلك لان كل x_ ij يمكن ان يكون 1 او 0 , اي ان ضلع يمكن ان تكون بالحل وبالتالي نضيف وزنها (وحينها x_ ij 1 ) او يمكن الا يكون بالحل ثم بالتالي x_ ij 0 اي انه لن نحسب وزن الضلع .

  2. القيود(Constraints) في السطر 1+2 هي تحدد ان كل رأس (vertex) نستخدمه مرة واحدة في الحل اي ان لكل رأس درجة الخروج ودرجة الدخول اليه على الاكثر 1 .

  3. اما القيد 3 فهو يدعى الغاء المسارات الدائرية القصيرة اي مسارات دائرية بطول اقل من n , وذلك لانه اذا كان هناك مسار دائري أقصر من n على مجموعة جزئية S من الرؤوس حينها سيحوي هذا المسار الدائري على S اضلاع , وحينها القيد 3 لن يتحقق لذا لا يمكن ان نجد حلا أقصر من المرغوب به , وانتبه أيضا ان مسار دائري بطول 1 لا يمكن ان يكون حلا وذلك حسب قيود 1+2 (وبالتالي كذلك ل-n-1) لذا فانه مسموح وضع القيد 2 le S le n-2

  4. اما القيد الأخير فهو لبيان ان كل ضلع يمكن ان تكون بالحل الأمثل او لا اذا كان الضلع في الحل حينها يكون قيمة المتغير 1 وخلاف ذلك 0 .

  5. يمكن استبدال قيد 3 بالقيد التالي sum_ i in S sum_ j in overline S x_ ij ge 1 , S subset V,2 le S le n-2



لحل هذه المسألة الخطية يمكن استخدام اي وسيلة لحل المسائل الخطية على الاعداد الكاملة ولكن هذه الخوارزمية لا يمكن ان تحله بوقت حدودي إذ انه يوجد n(n-1) متغيرات و- 2n قيود درجة (1+2) و 2^n-2n-2 قيود على طول المسارات (3) لذا فانه لا يمكن حلها بشكل مباشر ما يحتم علينا استخدام طرق اخرى .

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





  1. u_i-u_j+(n-1)x_ ij le n-2 , forall i,j in 2,...,n ,i
    eq j

  2. 1 le u_i le n-1 , forall i in 2,...,n



توضيح




  1. القيد الأول منهما لضمان انه لا يوجد مسار دائري جزئي على المجموعات الجزئية S subseteq V setminus 1 لذا فانه لا يوجد مسارات دائرية جزئية طولها اقل من n

  2. القيد الثاني يضمن ان كل u_i معرف بشكل واحد ووحيد لكل حل ممكن .



ملاحظات




  1. تبين ان البرمجة الخطية MTZ اضعف من البرمجة الاولى لانه تم برهنة انه في بعض الحالات القيمة التي يمكن ان ينتجها MTZ تكون اقل منها في البرمجة الاولى .

  2. يمكن تقوية MTZ باضافة u_i-u_j+(n-1)x_ ij +(n-3)x_ ij le n-2 , forall i,j in 2,...,n ,i
    eq j بدل القيد الأول .



فرق تسد(Branch and Bound)


يمكن استخدام هذه الوسيلة لحل مسألة البائع المتجول (TSP) . في مجال البرمجة الرياضياتية يمكن النظر إلى هذه الوسيلة من الجهة التالية اولا تخفيف بعض القيود ثم اخذ الناتج وحله بطريقة سريعة وجيدة . حينها جودة وسيلة فرق تسد تكون من كمية الحد الأقصى لكل مجموعة قيود نقصيها . اما بالنسبة لمسألة TSP بداية يمكن تخفيف قيود 3 وارجاء باقي القيود والتي تشكل معا مسألة التلائم(assignment probl ) والتي يمكن حلها بشكل دقيق بوقت O(n^3) لذا فان القيمة السفلى لمسألة البائع المتجول هي مسألة التلائم سوف نستخدم هذه المسألة لنركب خوارزمية بطريقة فرق تسد




سوف نستخدم الامور التالية




  1. z^* أفضل قيمة ل TSP وجدناها حتى اللحظة .

  2. z_h قيمة دالة الهدف لمسألة التلائم(AP) في الرأس h في شجرة البحث ,

  3. underline z_h قيمة سُفلى ل- z_h

  4. I_h مجموعة الأضلاع ضمن الحل في الرأس h من شجرة البحث

  5. E_h مجموعة الأضلاع التي ليست ضمن الحل في الرأس h من شجرة البحث



الخوارزمية



الخطوة 1 (الابتداء) حصِّل على قيمة اولية ل- z^* بمعنى ان نستخدم طريقة حدس مهني الحدس المهني (Heuristic) توصلنا للحل , ابدأ في الرأس 1 من شجرة البحث و I_h E_h ptyset واحصل على z_1 بحل المسألة AP , اذا z_1 ge z^* توقف الحدس المهني يعطي الحل الأمثل . واذا حل AP لا يحوي مسارات جزئية دائرية توقف لانه يعطي الحل الأمثل . خلاف هذا ضع 1 في طابور





الخطوة 2 (اختيار الرأس (vertex)) اذا الطابور فارغ , توقف . خلاف هذا اختر رأس (vertex) من الطابور .





الخطوة 3 (تقسيم المسألة الجزئية) الحل الموجود في الرأس h هو حل غير جائز ويجب ازالته بتقسيم المسألة الحالية لمسائل متجاورة h_r التي تتميز بالمجموعتين I_ h_r و- E_ h_r . وحتى نُنتج هذه التقسيمات , فليكن مسار دائري جزئي يحيث انه على الاقل s اضلاع لا تحويها I_ h لنفرض ان هذه الأضلاع هي (i_1,j_1),...,(i_s,j_s) حسب الترتيب التي تظهر في المسار الجزئي وحينها انتج s مسائل جزئية عندما





I_ h_r
egin cases



I_ h_r ,mbox r 1 \



I_h cup (i_u,j_u) u 1,...,r-1 ,r 2,...,s


end cases




E_ h_r E_h cup (i_r,j_r) , r 1,...,s


نفذ الخطوات 4 حتى 6 لكل r 1,...,s



الخطوة 4 احسب حد اسفل underline z_h ل-z_h عن طريق تخفيض عامود وسطر من مصفوفة الأوزان واذا underline z_h le z^* اكمل للخطوة 5 خلاف هذا اعد الخطوة 4 عندما r r+1 .





الخطوة 5 حل المسألة الجزئية التي في h_r واذا z_ h_r ge z^* عد إلى 4 عندما r r+1 .





الخطوة 6 افحص اذا ما الحل الحالي يحوي على مسائل جزئية اذا كان كذلك ضع h_r في الطابور خلاف هذا z^* z_ h_r احفظ المسار واذا z^* z_h اذهب إلى 2 .





خوارزميات تقريب


وهي خوارزميات لا تعطي جواب دقيق ولكنها تعطينا جواب لنفرض انه S ونفرض انه *S هو الحل الأمثل حينها alpha frac S S^* ,هو البعد عن الجواب الأمثل . للاسف لمسألة البائع المتجول لا يوجد خوارزميات تقريب سريعة الا اذا NP P , وهذا لانه اذا كان هناك واحدا كهذا فهو حتما سوف يحل مسألة المسار الدائري الهاملتوني , والأسوأ من هذا انه حتى اذا alpha O(2^n) سينتج عن هذا ان NP P !
بالرغم من هذا فان مسألة البائع المتجول مع خاصية متباينة المثلثات (او مسألة البائع المتجول المترية) يوجد لها خوارزميات تقرب الاجابة المثلى لذا سوف ننظر اولا لم لا يمكن تقريب TSP بشكل عام ثم نقرب TSP مع خاصية متباينة المثلثات


صعوبة تقريب TSP


نظرية لكل دالة يمكن حسابها بوقت حدودي alpha(n) , مسألة البائع المتجول لا يمكن تقريبها بمعامل alpha(n) الا اذا NP P .





برهان لنفرض من اجل التناقض ان هناك خوارزمية حدودية تقرب TSP بمعامل alpha(n) سنسميه mathcal A سوف نُري انه يمكن استخدام mathcal A لكي نقرر مسألة المسار الدائري الهاملتوني ( حينها NP P ) .





الفكرة المركزية هي اختصار مسألة المسار الهاملتوني الدائري لمسألة البائع المتجول اي انه باعطائنا G نريد بناء مخطط كامل مع اوزان 'G بحيث أنَّ



1- اذا G يوجد فيه مسار دائري هاملتوني حينها في 'G وزن حل مسألة البائع المتجول الأمثل هو n .



2- اذا G لا يوجد فيه مسار دائري هاملتوني حينها في 'G وزن حل مسألة البائع المتجول الأمثل هو اكثر من alpha(n) n

لاحظ انه عندما نشعل الخوارزمية mathcal A على المخطط 'G على الخوارزمية ان تعطينا جوابا على الاكثر alpha(n) n في الحالة الاولى وفي الحالة الثانية جواب قيمته أكبر من alpha(n) n لذا يمكن تقرير مسألة المسار الدائري الهاملتوني .

والاختصار هو كالتالي لكل ضلع من اضلاع G ضع وزن 1 , وكل الأضلاع ليست اضلاع ل-G وزنها هو alpha(n) n وهذا سوف يكون 'G .

يمكن ان نرى انه اذا في G يوجد مسار دائري هاملتوني حينها وزن TSP في 'G هو n , اما اذا G لم يحوِ مسار دائري هاملتوني فعليه استخدام ضلع واحدة على الاقل وزنها alpha(n) n لذا فان وزن TSP يكون اكثر من alpha(n) n

تقريب مسألة البائع المتجول المترية


الخوارزمية





  1. جد الشجرة الممتدة ذات الحد الأدنى (MST) ولنسمها T .

  2. ضاعف كل ضلع في T واحصل على مخطط اويلراني

  3. جد مسار اويلراني mathcal T

  4. اخرج المسار الذي رؤوس G حسب ترتيب ظهورها في mathcal T . فلنسم المسائر الدائري الناتج C .



يمكن البرهنة بأن معامل هذه الخوارزمية هو 2 . يمكن تحسين هذه النتيجة ل-frac32 باستخدام مسألة التلائم في المخططات والخوارزمية الناتجة تكون جدا مشابهة للموصفة اعلاه.

GLPK solution of a travelling salesman probl .svg حلحلة لمعضلة البائع المتجول





مسألة البائع المتجول إنك Travelling salesman probl هي إحدى أهم المسائل في علم التعقيد الحسابي و نظرية المخططات ، ونص المسألة هو وصل تاجر إلى دولة فيها n مدينة ويريد البائع أن يزور كل مدينة في الدولة مرة واحدة فقط وبأقل وقت سفر بين المدن. بالرغم من بساطة عرض المسألة فقد تبين أن هذه المسألة هي أحد المسائل التي لا يُعرف لها خوارزمية تحلها بسرعة, أي أنه اذا كان هناك فقط 50 مدينة حينها يتطلب الأمر أكثر من ألف عام لايجاد الحل ! وقد وجدت هذه المسألة طريقها لنظرية التعقيد الحسابي حين أدرجها ريتشارد كارب كارب في قائمته ال-21 لمسائل NP كاملة.





تاريخ


تم الاشارة للمسألة للمرة الأولى في ألمانيا عام 1832 في كتاب البائع المتجول الناجح وكان كارل منجر هو أول رياضياتي كتب عن المسألة حيث أنه أراد l(C) حيث ان C هو مسطح بسيط في الفضاء المتري S وحسب التعريف هو
l(C) supsum_ i 1 ^ n-1 dist(x_i,x_ i+1 )
عندما القيم العُلية(supr um) نأخذها على كل اختيار x_1,x_2,...,x_ n-1 على C حسب < >الترتيب الذي يضعه C, وما بينه منجر لحل هذه المسألة هو أننا نستطيع أن نفحص كل المجموعات الجزئية النهائية X ل-C اي exists n in mathbb N Xsubset C, X n وعندها نأخذ القيمة الدنيا لكل الترتيبات X . لذا عرف لكل مجموعة جزئية X, لفضاء متري S lambda(X) وهو طول المسار الأقصر الذي يمر من خلال , وقد برهن التالي




l(c) sup_ X lambda(X)
كما حاول أن يبرهن أن forall epsilon > 0, exists Xsubset C lambda(X) ge l(C)
ونجح ببرهنة ميرهنة أقوى


l(c) sup_ X kappa(X)
عندما kappa(X) هو الحد الأدنى شجرة (بنية بيانات) للشجرة المتتدة في X .
نرى أأن lambda(X) قريب جدا من مسألة البائع المتجول, وقد ذكر منجر هذه الصلة في عام 1930 في أحد محاضراته وحسب الوثائق في البداية سأل منجر اذا ما نستطيع أن نستبدل kappa(X) بالحد الأدنى لشجرة ستاينير التي توصل X. وللمسألة الاقليدية تم ايجاد الحل في عام 1933 .
بين الأعوام 1930-1931 امضى منجر في هارفرد كمحاضر زائر وفي أحد محاضراته بيَّن نتاجه التي عرضناها واحد الاقتراحات كانت من هاسلر ويتني وبعدها بعام ذكر هاسلر مسألة العبور على ال48 ولاية .


وفي عام 1940 ظهرت مقالات تدرس مسألة البائع المتجول في سياق مُختلف , ميلجرام في عام 1940 درس مسألة المسار الاقصر خلال مجموعة من النقاط في الفضاء المتري وقد درس هذه المسألة على مسطح جوردان الأدنى والتي تُغطي اي مجموعة من النقاط في الفضاء المتري وليست بالضرورة مجموعة نهائية والتي حينها المسار الاقصر قد لا يكون موجودا . اما فيجيس في نفس العام درس المسألة في مربع الوحدة وقد توصل فيربولونسكي إلى ان طوله اقل من 2+sqrt 2.8 n
وقد اعطى ماهلانوبيس حدود دنيا للطول المتوقع ل-n نقاط عشوائية وقد اكمل هذا البحث جيسين عام 1942 .


وفي اخر الاربعينات وبداية الخمسينات ميلر فلود وقد كان في مؤسسة راند وهي مؤسسة بُحوث علمية حاول حلها بمساعدة علماء المؤسسة ولكن عبثا , وتم رصد جائزة لمن يساعد في حل المسألة(المسألة قد لا يوجد لها خوارزمية سريعة )


في عام 1954 اصدر فولكرسون وجونسون ودانتزيج مقال مهم في هذه المسألة وقد تطرقوا لخوارزميات لحل المسألة وقد اصبحت اساسية لاحقا في مسائل الاستمثال (combinatorial optimization )وقد استخدموا فيها المستويات القاطعة وبمساعدة البرمجة الخطية وطريقة السيمبلكس نجحوا في حل المسألة ل-49 ولاية . ولاحقا برهن كارب ان المسألة هي NP كاملة ومن حينها طور العلماء كثير من الطرق لحل المسألة بشكل مباشر مثل البرمجة الخطية المختلطة وخوارزميات جينية ...



شاركنا رأيك

 
التعليقات

لم يعلق احد حتى الآن .. كن اول من يعلق بالضغط هنا

أقسام شبكة بحوث وتقارير ومعلومات عملت لخدمة الزائر ليسهل عليه تصفح الموقع بسلاسة وأخذ المعلومات تصفح هذا الموضوع مسألة البائع المتجول تعريف # اخر تحديث اليوم 2024-04-18 ويمكنك مراسلتنا في حال الملاحظات او التعديل او الإضافة او طلب حذف الموضوع ...آخر تعديل اليوم 25/10/2023


اعلانات العرب الآن