একাধিক থেকে বহু সাধারণকরণ কার্যবিধির সমস্যার জন্য অ্যালগরিদম


20

আমি অ্যালগরিদমগুলিতে এমন কোনও সাহিত্যের সন্ধান করতে পারি না যা একাধিক থেকে বহু সাধারণীকরণের অ্যাসাইনমেন্ট সমস্যা (জিএপি) সমাধান করার জন্য ব্যবহার করা যেতে পারে, অর্থাত্ মডেলগুলি যেখানে কেবলমাত্র একজন এজেন্টকে আরও বেশি কাজ বরাদ্দ করা যায় না, একাধিক এজেন্টও হতে পারে একটি টাস্কে বরাদ্দ করা হয়েছে (পেন্টিকোর একটি গবেষণাপত্রে এক-এক-এক এবং এক থেকে একাধিক এপি আলোচনা করা হয়েছে)। আমি অ্যাসাইনমেন্ট সমস্যার পরবর্তী কিছুই জানি না, তবে আমি আমার গবেষণার সময় এই জাতীয় একটি সমস্যা নিয়ে এসেছি এবং সেগুলি কীভাবে সমাধান করবেন সে সম্পর্কে আরও জানতে চাই। এ জাতীয় বহু-বহু সংখ্যক জিএপি অন্য নামে পরিচিত বা এটির এত কম সাহিত্যের সন্ধান পাওয়ার আলাদা কারণ রয়েছে কি?

পেন্টিকো, ডি নিয়োগের সমস্যা: একটি স্বর্ণ বার্ষিকী সমীক্ষাঅপারেশনাল গবেষণা ইউরোপীয় জার্নাল (2007); 176 (2): 774-793।


1
হাই জেরিটজান Scicomp স্বাগতম! :) জেনারালাইজড অ্যাসাইনমেন্ট সমস্যার জন্য আপনি কি থ্রেস ল্যাঙ্গরিজিয়ান হিউরিস্টিকের সাথে পরিচিত? বিজ্ঞান ডিরেক্টরি / বিজ্ঞান / সূচনা / পিআইআই / এস 0898122110002609 বা ইরমা- ইন্টারন্যাশনাল.অর্গ //title / 58969 বা crcnetbase.com/doi/abs/10.1201/9781420010749.ch48 ?
পল

1
আমার কাছে মনে হয় যে একাধিক এজেন্টদের কোনও কাজের অংশগুলি অর্পণ করার ক্ষেত্রে মডেল করা যেতে পারে, অন্তত এমন ক্ষেত্রে যেখানে ব্যয়গুলি রৈখিকভাবে ভাগ করা হয়, সেই এক কার্যটিকে এমনভাবে আচরণ করে যেমন এটি একাধিক সাবটাস্ক হয় were আরও বিশদ ছাড়াই আপনার সমস্যাগুলি সাধারণকরণের সমস্যার তুলনায় কীভাবে আরও "সাধারণ" হতে পারে তা জানা শক্ত know Wikipeida নিবন্ধ বিষয়ে রেফারেন্স দুয়েক কিছু ভাল উদ্ভাস ও লিঙ্কগুলি আছে।
হার্ডম্যাথ

ধন্যবাদ, @ পল আমি কাগজপত্রগুলি খতিয়ে দেখব, যদিও এগুলি আমার প্রশিক্ষিত চোখের চেয়ে জটিল বলে মনে হচ্ছে। তারপরে আবারও আমার সন্দেহ হয় যে সমস্যাটি জটিল, এবং সম্ভবত আমাকে কিছু সরলকরণ করতে হবে। হার্ডম্যাথ, আমার সমস্যাটি মূলত একটি নেটওয়ার্কে শক্তি বিতরণের ক্ষেত্রে: সমস্ত চাহিদা পূরণের জন্য সরবরাহের ন্যূনতম ব্যবহারের সাথে সর্বাধিক অনুকূল উপায়ে, তাদের মধ্যে (ওজনযুক্ত) সংযোগগুলি ব্যবহার করে সরবরাহ- এবং ডিমান্ডোডগুলি মিলানো দরকার। অবশ্যই, সংযোগগুলির সর্বাধিক ক্ষমতা ইত্যাদির মতো অতিরিক্ত বাধাও ব্যবহার করা যেতে পারে
জেরিট জানুয়ারী

1
@ জেরিটজান: এটি একটি এনপি-হার্ড সমস্যা, সুতরাং এটির জন্য একটি আনুমানিক পরিকল্পনা প্রয়োজন। আপনার যদি একটি ভাল অনুমানের প্রয়োজন হয় তবে আপনার অ্যালগরিদমটি কিছুটা জটিল হতে পারে।
পল

2
@ জেরিটজান: এর অর্থ হ'ল সঠিক 'অনুকূল' সমাধানটি কেবলমাত্র সমস্ত সম্ভাব্য কনফিগারেশন পরীক্ষা করেই নিশ্চিত করা যায়। এই সম্ভাব্য সমাধানগুলি সময়ের সাথে ধীরে ধীরে বৃদ্ধি পায় (কমপক্ষে), এমনকি তুলনামূলকভাবে পরিমিত আকারের সমস্যাগুলি যুক্তিসঙ্গত সময়ের সাথে হ্রাস করতে কার্যত অসম্ভব করে তোলে।
পল

উত্তর:


1

আপনার সমস্যাটি মনে হচ্ছে না, "" এজেন্টদের "যোগফলটি হ'ল শক্তির একটি বিচ্ছিন্ন অংশ সরবরাহ করে বা প্রতিটি একক দাবির জন্য কিছুই দেয় না ...", ঠিক? অথবা আপনি আমাকে বুঝতে পারেন না। সুতরাং আমি আমার সমস্যাটি আরও ভালভাবে বর্ণনা করার চেষ্টা করব, কারণ আমি একটি সমাধান পেয়েছি।

আমার সমস্যায়, আমার এজেন্টগুলির একটি সেট রয়েছে যেখানে প্রত্যেকের কাছে কিছু নির্দিষ্ট সংস্থার বাজেট থাকে, যারা কাজগুলির ব্যয় ভাগ করে নিতে পারে, যা 1 বার "সম্পাদিত" হওয়া উচিত বা না হওয়া (বহু-থেকে-বহু-অ্যাসাইনমেন্ট প্রয়োজন ছাড়াই) প্রতিটি কাজ "চালানো")। এর অর্থ: টাস্ক এক্সের জন্য এজেন্টদের আংশিক সমাধানের যোগফল টাস্ক এক্সের ব্যয়ের চেয়ে কম বা সমান হওয়া উচিত। উদ্দেশ্য হ'ল এজেন্টরা প্রদান করতে পারে এমন সর্বাধিক মান সহ কাজের সেটটি সন্ধান করা।

আমি গ্যামস সফটওয়্যার নিয়ে কাজ করছি তাই আমি এটিকে গ্যামস-স্টাইলে বর্ণনা করি: এজেন্ট সেট করুন, টি টাস্কগুলির প্যারামিটার ব্যয় (টি), মান (টি) প্যারামিটার সংস্থান (ক)

পজিটিভ ভেরিয়েবল y (ক, টি) (নন-ইনট), এজেন্টের অংশ টাস্ক টি উদ্দেশ্য ব্যয়ের জন্য:

maxvalue =e= sum((a,t), value(t) * y(a,t) / cost(t) );
agentresource_max_constraint(a).. sum(t, y(a,t)) =l= resources(a);
taskcost_max_constraint.. sum(a, y(a,t)) =l= cost(t);

আমি যেমন লিখেছি, আমার একটি সমাধান ছিল তবে আংশিক টাস্ক সমাধানগুলি কীভাবে পৃথক করা যায় তা আমি জানতাম না। তবে এখন আমি জানতে পেরেছি যে আমি একটি দিয়ে বাধা তৈরি করতে পারি

বাইনারি পরিবর্তনশীল z(t)

taskcost_bin_constraint z(t) =e= sum(a, y(a,t)) / cost(t);

sum(a, y(a,t)) / cost(t)সমীকরণ গঠনে 0 এবং 1 এর মধ্যে কিছু হয় এবং এই সীমাবদ্ধতার দ্বারা z1 এর 1 এবং 1 এর চেয়ে কম 0 এর জন্য এই taskcost_bin_constraintউদ্দেশ্যটি হ'ল :

maxvalue =e= sum(t, value(t) * z(t));

আমি ভাবছিলাম কিন্তু এটি কাজ করে এবং আমাকে একটি সীমাবদ্ধতার অধীনে আরও ভাল সমাধান দেয় যাতে কোনও কাজ পূর্ণ করা যায় না।

হয়তো আপনিও এ জাতীয় বাধা যুক্ত করতে পারেন? 0 থেকে 1 এর মধ্যে মান সহ একটি অভিব্যক্তিতে প্রকাশিত দাবিগুলি হুবহু পূর্ণ করার জন্য একটি প্রতিবন্ধক।


1

একটি ডিস্ট্রিমেন্টিক অ্যানিলিং অ্যালগরিদম রয়েছে যা একের মধ্যে এক অ্যাসাইনমেন্ট সমস্যা বা সমানভাবে ডায়াডিক ম্যাট্রিক্স পার্টিশন সমস্যার সমাধান করে।

তবে পূর্ণসংখ্যার [0, 1] মানগুলির পরিবর্তে কেউ ভগ্নাংশের মানগুলি ব্যবহার করতে পারে (সুতরাং অ্যালগোরিদম একই থাকে) বা একাধিক কার্য সম্পাদনের জন্য এটি বাড়িয়েও দেয় (একটি অভ্যন্তরীণ লুপ যুক্ত করে এবং সম্ভবত ম্যাট্রিক্স একটি হাইপার-ডাইমেনশনাল অ্যারে পরিণত হয়) বা টেনসর)

কাগজটি এখানে রয়েছে: http://www.researchgate.net/publication/2382666_Pairwise_Data_Clustering_by_Deterministic_Annealing/file/d912f50c75945d835b.pdf

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.