برنامج التكوين الخطي

البرمجة الخطية التكوينية ( configuration-LP ) هي تقنية برمجة خطية تُستخدم لحل مسائل التحسين التوافقي . طُرحت هذه التقنية في سياق مسألة تقطيع المخزون . [ 1 ] [ 2 ] لاحقًا، طُبقت على مسائل تعبئة الصناديق [ 3 ] [ 4 ] وجدولة المهام . [ 5 ] [ 6 ] في البرمجة الخطية التكوينية، يوجد متغير لكل تكوين ممكن - أي لكل مجموعة متعددة من العناصر التي يمكن وضعها في صندوق واحد (تُعرف هذه التكوينات أيضًا بالأنماط ). عادةً، يكون عدد التكوينات أُسّيًا بالنسبة لحجم المسألة، ولكن في بعض الحالات، من الممكن الوصول إلى حلول تقريبية باستخدام عدد كثير الحدود فقط من التكوينات.

تعبئة في صناديق

الخط المتكامل

في مسألة تعبئة الصناديق ، يوجد n عنصرًا بأحجام مختلفة. الهدف هو تعبئة العناصر في أقل عدد ممكن من الصناديق، بحيث لا يتجاوز عدد العناصر في كل صندوق B عنصرًا . التكوين الأمثل هو مجموعة من الأحجام التي لا يتجاوز مجموعها B عنصرًا .

  • مثال : [ 7 ] لنفترض أن أحجام العناصر هي 3، 3، 3، 3، 3، 4، 4، 4، 4، و B = 12. عندئذٍ، تكون التكوينات الممكنة هي: 3333؛ 333؛ 33، 334؛ 3، 34، 344؛ 4، 44، 444. إذا كان لدينا ثلاثة عناصر فقط من الحجم 3، فلن نتمكن من استخدام التكوين 3333.

لنرمز بـ S إلى مجموعة الأحجام المختلفة (وعددها). ولنرمز بـ C إلى مجموعة التكوينات المختلفة (وعددها). لكل حجم s في S وتكوين c في C ، نرمز بما يلي:

  • n s - عدد العناصر ذات الحجم s .
  • a s , c - عدد مرات ظهور الحجم s في التكوين c .
  • x c - متغير يشير إلى عدد الصناديق ذات التكوين c .

ثم، يكون تكوين LP لتعبئة الصناديق كما يلي:

تقليلججxج{\displaystyle \sum _{c\in C}x_{c}}رهناً بـ

ججأs،جxجنs{\displaystyle \sum _{c\in C}a_{s,c}x_{c}\geq n_{s}}لكل s في S (جميع n s من العناصر ذات الحجم s معبأة).

xج{0،...،ن}{\displaystyle x_{c}\in \{0,\ldots ,n\}} لكل c في C (يوجد على الأكثر n خانة إجمالاً، لذا على الأكثر n من كل تكوين فردي).

تُعدّ مسألة البرمجة الخطية للتكوينات مسألة برمجة خطية عددية صحيحة ، لذا فهي عمومًا مسألة صعبة الحل (NP-hard). علاوة على ذلك، فإن المسألة نفسها كبيرة جدًا في الغالب: إذ تحتوي على C متغيرًا و S قيدًا. إذا كان أصغر حجم للعنصر هو eB (لجزء كسري e في (0,1))، فيمكن أن يصل عدد العناصر في كل خانة إلى 1/ e ، وبالتالي فإن عدد التكوينات C ~ S 1/ e ، والذي قد يكون كبيرًا جدًا إذا كانت e صغيرة (إذا اعتُبرت e ثابتة، فيمكن حل مسألة البرمجة الخطية العددية الصحيحة بالبحث الشامل: يوجد على الأكثر S 1/e تكوينًا، ولكل تكوين يوجد على الأكثر n قيمة ممكنة، وبالتالي يوجد على الأكثرنS1/هـ{\displaystyle n^{S^{1/e}}}يجب فحص التوليفات. لكل توليفة، علينا فحص قيود S ، لذا فإن وقت التشغيل هوSنS1/هـ{\displaystyle S\cdot n^{S^{1/e}}}(وهي دالة متعددة الحدود في n عندما تكون S و e ثابتتين). [ 7 ]

مع ذلك، تُشكّل هذه المسألة البرمجية الخطية أساسًا للعديد من خوارزميات التقريب . وتتلخص الفكرة الرئيسية لهذه الخوارزميات في اختزال المسألة الأصلية إلى مسألة جديدة تكون فيها قيمة S صغيرة وقيمة e كبيرة، وبالتالي تكون قيمة C صغيرة نسبيًا. بعد ذلك، يمكن حل المسألة البرمجية الخطية إما بالبحث الكامل (إذا كانت قيمتا S و C صغيرتين بما يكفي)، أو بتحويلها إلى مسألة برمجية خطية كسرية .

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

يُعدّ نموذج البرمجة الخطية الجزئية لتعبئة الصناديق بمثابة استرخاء للبرمجة الخطية الصحيحة المذكورة أعلاه، وهو يحلّ محلّ القيد الأخير.xج{0،...،ن}{\displaystyle x_{c}\in \{0,\ldots ,n\}}مع مراعاة القيدxج0{\displaystyle x_{c}\geq 0}بمعنى آخر، يمكن استخدام كل تكوين عددًا جزئيًا من المرات. وقد قُدِّم هذا الأسلوب لأول مرة من قِبَل جيلمور وجوموري، [ 2 ] ويُطلق عليه غالبًا اسم برنامج جيلمور-جوموري الخطي . [ 8 ]

  • مثال : لنفترض وجود 31 عنصرًا بحجم 3 و7 عناصر بحجم 4، وحجم كل صندوق 10. التكوينات هي: 4، 44، 34، 334، 3، 33، 333. القيود هي: [0,0,1,2,1,2,3] × x = 31 و[1,2,1,1,0,0,0] × x = 7. الحل الأمثل للبرمجة الخطية الكسرية هو [0,0,0,7,0,0,17/3]. أي: يوجد 7 صناديق بتكوين 334 و17/3 صندوقًا بتكوين 333. لاحظ أنه يلزم تكوينان مختلفان فقط.

باختصار، يمكن كتابة برنامج البرمجة الخطية الكسرية على النحو التالي:

تقليل 1x {\displaystyle ~\mathbf {1} \cdot \mathbf {x} ~}شارع أxن {\displaystyle ~\mathbf {A} \mathbf {x} \geq \mathbf {n} ~}و x0 {\displaystyle ~\mathbf {x} \geq 0~}

حيث 1 هو المتجه (1، ...، 1) بحجم C ، و A هي مصفوفة S × C حيث يمثل كل عمود تكوينًا واحدًا، و n هو المتجه ( n 1 ، ...، n S ).

حل البرمجة الخطية الكسرية

يمكن حل برنامج خطي بدون قيود على التكامل في وقت متعدد الحدود بالنسبة لعدد المتغيرات والقيود. تكمن المشكلة في أن عدد المتغيرات في البرنامج الخطي ذي التكوين الكسري يساوي عدد التكوينات الممكنة، وهو عدد قد يكون هائلاً. يقدم كارماركار وكارب [ 9 ] خوارزمية تتغلب على هذه المشكلة.

أولاً، يقومون بإنشاء البرنامج الخطي المزدوج للبرنامج الخطي الكسري:

أقصى نy {\displaystyle ~\mathbf {n} \cdot \mathbf {y} ~}شارع أتيy1 {\displaystyle ~A^{T}\mathbf {y} \leq \mathbf {1} ~}و y0{\displaystyle ~\mathbf {y} \geq 0}.

يحتوي على S متغيرات y 1 ,..., y S ، و C قيود: لكل تكوين c ، يوجد قيدأجy1{\displaystyle A^{c}\cdot y\leq 1}، أينأج{\displaystyle A^{c}}يمثل العمود s في المصفوفة A التكوين c . وله التفسير الاقتصادي التالي: [ 9 ] لكل حجم s، يجب تحديد سعر غير سالب y s. ربحنا هو السعر الإجمالي لجميع الأصناف. نريد تعظيم الربح ny مع مراعاة أن السعر الإجمالي للأصناف في كل تكوين لا يتجاوز 1.

ثانيًا، يطبقون صيغة معدلة من طريقة القطع الناقص ، لا تتطلب سرد جميع القيود، بل تحتاج فقط إلى مُوَصِّل فصل . مُوَصِّل الفصل هو خوارزمية، عند إعطائها متجهًا y ، إما أن تُؤكد أنه حل ممكن، أو تجد قيدًا يُخالفه. يمكن تطبيق مُوَصِّل الفصل للبرمجة الخطية الثنائية بحل مسألة حقيبة الظهر بأحجام s وقيم y : إذا كانت القيمة الإجمالية للحل الأمثل لمسألة حقيبة الظهر لا تتجاوز 1، فإن y حل ممكن؛ وإذا كانت أكبر من 1، فإن y غير ممكن ، ويُحدد الحل الأمثل لمسألة حقيبة الظهر تكوينًا يُخالف فيه القيد.

ثالثًا، يوضحون أنه من خلال حل تقريبي لمسألة حقيبة الظهر، يمكن للمرء الحصول على حل تقريبي للبرمجة الخطية الثنائية، ومن هذا، حل تقريبي للبرمجة الخطية الأولية؛ انظر خوارزميات تعبئة الصناديق Karmarkar-Karp .

بشكل عام، بالنسبة لأي عامل تسامح h ، يجد حلاً أساسياً ممكناً بتكلفة لا تتجاوز LOPT(I) + h ، ويعمل في الوقت:

يا(S8سجلSسجل2(Sنهـح)+S4نسجلSحسجل(Sنهـح)){\displaystyle O\left(S^{8}\log {S}\log ^{2}({\frac {Sn}{eh}})+{\frac {S^{4}n\log {S}}{h}}\log({\frac {Sn}{eh}})\right)}،

حيث S هو عدد الأحجام المختلفة، و n هو عدد العناصر المختلفة، وحجم أصغر عنصر هو eB . على وجه الخصوص، إذا كان e ≥ 1/ n و h = 1، فإن الخوارزمية تجد حلاً في وقت لا يتجاوز LOPT+1 خانة.يا(S8سجلSسجل2ن+S4نسجلSسجلن){\displaystyle O\left(S^{8}\log {S}\log ^{2}{n}+S^{4}n\log {S}\log {n}\right)}يعمل متغير عشوائي من هذه الخوارزمية في الوقت المتوقع التالي:

يا(S7سجلSسجل2(Sنهـح)+S4نسجلSحسجل(Sنهـح)){\displaystyle O\left(S^{7}\log {S}\log ^{2}({\frac {Sn}{eh}})+{\frac {S^{4}n\log {S}}{h}}\log({\frac {Sn}{eh}})\right)}.

تقريب برنامج خطي كسري

قام كارماركار وكارب بتطوير طريقة لتقريب برنامج البرمجة الخطية الكسري إلى حل تقريبي لبرنامج البرمجة الخطية التكاملي؛ انظر خوارزميات تعبئة الصناديق لكارماركار وكارب . يُظهر برهانهما أن فجوة التكامل الجمعي لهذا البرنامج تقع في O(log₂ ( n ) ). لاحقًا، حسّن هوبرغ وروثفوس [ 10 ] نتيجتهما وأثبتا أن فجوة التكامل تقع في O(log( n )). أفضل حد أدنى معروف لفجوة التكامل هو ثابت Ω(1). إيجاد فجوة التكامل الدقيقة لا يزال مسألة مفتوحة .

غطاء سلة المهملات

في مسألة تغطية الصناديق ، يوجد n عنصرًا بأحجام مختلفة. الهدف هو تعبئة العناصر في أكبر عدد ممكن من الصناديق، بحيث يحتوي كل صندوق على B عنصرًا على الأقل . يمكن أن يكون التكوين الطبيعي لبرنامج البرمجة الخطية لهذه المسألة كما يلي:

أقصى  1x   شارع  أxن   و  x0{\displaystyle {\text{maximize}}~~\mathbf {1} \cdot \mathbf {x} ~~~{\text{st}}~~A\mathbf {x} \leq \mathbf {n} ~~~{\text{and}}~~\mathbf {x} \geq 0}

حيث تمثل A جميع تكوينات العناصر التي يكون مجموعها على الأقل B (لا يمكن اختيار سوى التكوينات ذات الحد الأدنى من الاحتواء). تكمن مشكلة هذه البرمجة الخطية في أنه في مسألة تغطية الصناديق، يُعد التعامل مع العناصر الصغيرة أمرًا إشكاليًا، نظرًا لأن العناصر الصغيرة قد تكون ضرورية للحل الأمثل. مع السماح بالعناصر الصغيرة، قد يكون عدد التكوينات كبيرًا جدًا حتى بالنسبة لتقنية كارماركار وكارب. يقدم تشيريك وجونسون وكينيون [ 11 ] برمجة خطية بديلة. أولًا، يُعرّفون مجموعة من العناصر تُسمى العناصر الصغيرة . ليكن T هو الحجم الإجمالي لجميع العناصر الصغيرة. ثم، يُنشئون مصفوفة A تُمثل جميع التكوينات التي يكون مجموعها أقل من 2. بعد ذلك، يُعيدون النظر في البرمجة الخطية المذكورة أعلاه مع قيد إضافي واحد:أقصى  1x  شارع{\displaystyle {\text{maximize}}~~\mathbf {1} \cdot \mathbf {x} ~~{\text{st}}}أxن{\displaystyle A\mathbf {x} \leq \mathbf {n} }جج:suم(ج)<ب(ب-suم(ج))xجتي{\displaystyle \sum _{c\in C:sum(c)<B}(B-sum(c))\cdot x_{c}\leq T}x0{\displaystyle \mathbf {x} \geq 0}يضمن القيد الإضافي إمكانية ملء "المساحة الفارغة" في الصناديق بالعناصر الصغيرة. يُعدّ النموذج الثنائي لهذه المسألة البرمجية أكثر تعقيدًا، ولا يمكن حله باستخدام خوارزمية فصل بسيطة لمسألة حقيبة الظهر. يقدم كلٌّ من سيريك وجونسون وكينيون [ 11 ] طريقةً مختلفةً لحلها تقريبًا في زمن أُسّي في مقلوب إبسيلون. كما يقدم كلٌّ من جانسن وسوليس-أوبا [ 12 ] طريقةً مُحسَّنةً لحلها تقريبًا في زمن أُسّي في مقلوب إبسيلون.

في جدولة الآلات

في مسألة جدولة الآلات غير المترابطة ، توجد m آلة مختلفة يجب أن تعالج n مهمة مختلفة. عندما تعالج الآلة i المهمة j ، فإنها تستغرق وقتًا p( i , j) . الهدف هو توزيع المهام بين الآلات بحيث يكون الحد الأقصى لوقت إنجاز كل آلة أصغر ما يمكن. صيغة القرار لهذه المسألة هي: بالنظر إلى الوقت T ، هل يوجد تقسيم يكون فيه وقت إنجاز جميع الآلات T على الأكثر ؟

لكل آلة i ، يوجد عدد محدود من المجموعات الفرعية من المهام التي يمكن معالجتها بواسطة الآلة i في وقت لا يتجاوز T. تُسمى كل مجموعة فرعية من هذه المجموعات تكوينًا للآلة i . لنرمز بـ C<sub> i </sub> ( T ) إلى مجموعة جميع التكوينات للآلة i ، عند الزمن T. لكل آلة i وتكوين c في C<sub> i </sub>( T )، نُعرّف متغيرًا.xأنا،ج{\displaystyle x_{i,c}}والتي تساوي 1 إذا وفقط إذا كان التكوين الفعلي المستخدم في الآلة i هو c ، و0 فيما عدا ذلك. عندئذٍ، تكون قيود البرمجة الخطية كما يلي:

  • ججأنا(تي)xأنا،ج=1{\displaystyle \sum _{c\in C_{i}(T)}x_{i,c}=1}لكل آلة i في 1، ...،
  • أنا=1مجج،ججأنا(تي)xأنا،ج=1{\displaystyle \sum _{i=1}^{m}\sum _{c\ni j,c\in C_{i}(T)}x_{i,c}=1}لكل وظيفة j في 1، ...،
  • xأنا،ج{0،1}{\displaystyle x_{i,j}\in \{0,1\}}لكل i و j .

ملكيات

فجوة التكامل لـ Configure-LP لجدولة الآلات غير المرتبطة هي 2. [ 5 ]

انظر أيضاً

مراجع

  1. ^ آيزمان ، كيرت (1957/04/01). "مشكلة التقليم" . العلوم الإدارية . 3 (3): 279-284 . دوى : 10.1287/mnsc.3.3.279 . ISSN 0025-1909 . 
  2. 1 2 جيلمور، بي سي؛ جوموري، آر إي (1961). "نهج البرمجة الخطية لمسألة تقطيع المخزون". بحوث العمليات . 9 (6): 849-859 . doi : 10.1287/opre.9.6.849 . JSTOR 167051. S2CID 8079477 .  
  3. كارماركار، ناريندرا؛ كارب، ريتشارد م. (1982-11-01). "مخطط تقريبي فعال لمسألة تعبئة الصناديق أحادية البعد". الندوة السنوية الثالثة والعشرون حول أسس علوم الحاسوب (SFCS 1982) . الصفحات 312-320 . doi : 10.1109/SFCS.1982.61 . S2CID 18583908 .  
  4. بانسال، نيخيل؛ كابرارا، ألبرتو؛ سفيريدينكو، ماكسيم (1 أكتوبر 2006). "خوارزميات تقريب محسّنة لمسائل تعبئة الصناديق متعددة الأبعاد". المؤتمر السنوي السابع والأربعون لمؤسسة مهندسي الكهرباء والإلكترونيات حول أسس علوم الحاسوب (FOCS'06) . الصفحات 697-708 . doi : 10.1109/FOCS.2006.38 . ISBN  0-7695-2720-5. S2CID 7690347 . 
  5. فيرشاي ، خوسيه؛ ويز ، أندرياس (2014-08-01). "حول البرمجة الخطية للتكوين لجدولة المهام على أجهزة غير مترابطة" . مجلة الجدولة . 17 (4): 371-383 . arXiv : 1011.4957 . doi : 10.1007/s10951-013-0359-4 . ISSN 1099-1425 . S2CID 34229676 .  
  6. ^ نوب ، دوسان. كوتيكي ، مارتن (2020-03-04). “جدولة النواة عبر التكوين LP”. أرخايف : 2003.02187 [ cs.DS ].
  7. 1 2 كلير ماثيو. "خوارزميات التقريب الجزء الأول، الأسبوع 3: تعبئة الصناديق" . كورسيرا . مؤرشف من الأصل بتاريخ 15-07-2021.
  8. روثفوس، ت. (2013-10-01). "تقريب تعبئة الصناديق ضمن O(log OPT · Log Log OPT) صندوقًا". ندوة IEEE السنوية الرابعة والخمسون حول أسس علوم الحاسوب ، 2013. الصفحات 20-29 . arXiv : 1301.4010 . doi : 10.1109/FOCS.2013.11 . ISBN  978-0-7695-5135-7. S2CID 15905063 . 
  9. 1 2 كارماركار، ناريندرا؛ كارب، ريتشارد م. (نوفمبر 1982). "مخطط تقريبي فعال لمسألة تعبئة الصناديق أحادية البعد" . الندوة السنوية الثالثة والعشرون حول أسس علوم الحاسوب (SFCS 1982) . الصفحات 312-320 . doi : 10.1109/SFCS.1982.61 . S2CID 18583908 .  
  10. هوبرغ، ريبيكا؛ روثفوس، توماس (2017). "فجوة التكامل الجمعي اللوغاريتمي لتعبئة الصناديق". وقائع الندوة السنوية الثامنة والعشرين لجمعية ACM-SIAM حول الخوارزميات المنفصلة . جمعية الرياضيات الصناعية والتطبيقية. الصفحات 2616-2625 . doi : 10.1137/1.9781611974782.172 . ISBN  978-1-61197-478-2. S2CID 1647463 . 
  11. 1 2 سيريك، يانوس؛ جونسون، ديفيد س.؛ كينيون، كلير (9 يناير 2001). "خوارزميات تقريب أفضل لتغطية الصناديق" . SODA '01: وقائع الندوة السنوية الثانية عشرة لجمعية ACM-SIAM حول الخوارزميات المنفصلة . جمعية الرياضيات الصناعية والتطبيقية. الصفحات 557-566 . ISBN  978-0-89871-490-6.
  12. جانسن، كلاوس؛ سوليس-أوبا، روبرتو (21-11-2002). "مخطط تقريبي تقاربي متعدد الحدود بالكامل لتغطية الصناديق" . الخوارزميات والحساب . سلسلة محاضرات في علوم الحاسوب. المجلد 2518. سبرينغر-فيرلاغ. الصفحات 175-186 . doi : 10.1007/3-540-36136-7_16 . ISBN   978-3-540-00142-3.