اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.
الحل المفهوم ضمنا وهو انتاج كل المسارات الدائرية ثم اختيار الأفضل هو حل غير قابل للتشغيل بسرعة إذ ان تعقيده وإذا كان فقط n=60 حينها سيكون هنالك احتمالات أكثر من ان نستطيع ان ننتجها(حدود الطاقة الحسابية للبشر على مر العصور هو وهذا العدد اصغر بكثير من ) ولان الحل الجشع لا يمكن انتاجه بجودة عالية وسرعة ملائمة تم تطوير الكثير من الوسائل لحل المسألة وسنعدد بعضها :
طور فلكرسون وجونسون ودانتزيج هذه الطريقة وهي : لكل ضلع في المخطط نخصص متغير وهو 1 إذا وفقط إذا الضلع من ضمن الحل الأفضل للمسألة وقد كان تعريف مسألة البرمجة الخطية كالتالي :
: Minimize
: Subject to
توضيحات :
لحل هذه المسألة الخطية يمكن استخدام اي وسيلة لحل المسائل الخطية على الاعداد الكاملة ولكن هذه الخوارزمية لا يمكن ان تحله بوقت حدودي إذ انه يوجد متغيرات و- قيود درجة (1+2) و قيود على طول المسارات (3) لذا فانه لا يمكن حلها بشكل مباشر ما يحتم علينا استخدام طرق اخرى .
لتخفيف كمية القيود كانت هناك حاجة لتغيير هذه البرمجة الخطية واستبدالها بمسألة خطية اخرى مع كمية قيود اقل وقد كان هذا وسميت البرمجة الخطية MTZ على أسماء كاتبيها . وكان الحل باضافة متغيرات اضافية :
توضيح :
ملاحظات :
يمكن استخدام هذه الوسيلة لحل مسألة البائع المتجول (TSP) . في مجال البرمجة الرياضياتية يمكن النظر إلى هذه الوسيلة من الجهة التالية: اولا تخفيف بعض القيود ثم اخذ الناتج وحله بطريقة سريعة وجيدة . حينها جودة وسيلة فرق تسد تكون من كمية الحد الأقصى لكل مجموعة قيود نقصيها . اما بالنسبة لمسألة TSP بداية يمكن تخفيف قيود 3 وارجاء باقي القيود والتي تشكل معا مسألة التلائم(assignment problem) والتي يمكن حلها بشكل دقيق بوقت لذا فان القيمة السفلى لمسألة البائع المتجول هي مسألة التلائم سوف نستخدم هذه المسألة لنركب خوارزمية بطريقة فرق تسد : سوف نستخدم الامور التالية :
الخوارزمية :
الخطوة 1 : (الابتداء) حصِّل على قيمة اولية ل- بمعنى ان نستخدم طريقة الحدس المهني (Heuristic) توصلنا للحل، ابدأ في الرأس 1 من شجرة البحث و: واحصل على بحل المسألة AP , إذا توقف: الحدس المهني يعطي الحل الأمثل . وإذا حل AP لا يحوي مسارات جزئية دائرية توقف لانه يعطي الحل الأمثل . خلاف هذا : ضع 1 في طابور
الخطوة 2 : (اختيار الرأس (vertex)) إذا الطابور فارغ، توقف . خلاف هذا اختر رأس (vertex) من الطابور .
الخطوة 3 : (تقسيم المسألة الجزئية) الحل الموجود في الرأس h هو حل غير جائز ويجب ازالته بتقسيم المسألة الحالية لمسائل متجاورة التي تتميز بالمجموعتين و- . وحتى نُنتج هذه التقسيمات، فليكن مسار دائري جزئي يحيث انه على الاقل s اضلاع لا تحويها لنفرض ان هذه الأضلاع هي : حسب الترتيب التي تظهر في المسار الجزئي وحينها انتج s مسائل جزئية عندما :
نفذ الخطوات 4 حتى 6 لكل r=1,...,s
الخطوة 4 : احسب حد اسفل ل- عن طريق تخفيض عامود وسطر من مصفوفة الأوزان وإذا اكمل للخطوة 5 خلاف هذا اعد الخطوة 4 عندما r=r+1 .
الخطوة 5 : حل المسألة الجزئية التي في وإذا عد إلى 4 عندما r=r+1 .
الخطوة 6 : افحص إذا ما الحل الحالي يحوي على مسائل جزئية إذا كان كذلك ضع في الطابور خلاف هذا : احفظ المسار وإذا اذهب إلى 2 .