فرض کنید مجموعه ای از اشیا، که هر کدام داری وزن و ارزش خاصی هستند در اختیار دارید. به هر شی تعدادی را تخصیص دهید به طوری که وزن اشیا انتخاب شده کوچکتر یا مساوی حدی از پیش تعیین شده، و ارزش آنها بیشینه شود. علت نامگذاری این مسئله، جهانگردی است که کوله پشتی ای با اندازه ی محدود دارد و باید آن را با مفیدترین صورت ممکن از اشیا پر کند.
معمولا در تخصیص منابع با محدودیت های مالی، با این مسئله روبرو هستیم. همچنین مسائلی از این قبیل در ترکیبیات، نظریه پیچیدگی محاسباتی، رمزنگاری و ریاضیات کاربردی به چشم می خورد..
نسخه ی مسئله تصمیم برای مسئله ی کوله پشتی، این سوال است: “آیا ارزش V با انتخاب اشیایی با مجموع وزن کمتر یا مساوی W، قابل دستیابی است؟”
2-1- تعریف مسئله
فرض کنید که جهانگردی می خواهدکوله پشتی خود را با انتخاب حالتهای ممکن از بین وسائل گوناگونی که بیشترین راحتی را برایش فراهم می سازند پر کند. این مسئله می تواند با شماره گذاری این وسائل از 1 تا n و تعریف برداری از متغیرهای دودویی بصورت ریاضی فرمول بندی شود. مسئله ما انتخاب برداری از بین بردارهای دودویی است،که محدودیت را بر آورده کند. بطوریکه تابع هدف ماکزیمم مقدار خود را بگیرد .
در این رابطه باید روشی برای حل این مسئله پیدا کرد . یک روش ابتدایی که در نگاه اول توجه ما را به خود جلب می کند ، عبارت از برنامه نویسی برای کامپیوتر به منظور امتحان کردن تمامی بردارهای دودویی ممکن x است، تا از بین بردارهایی که محدودیت مسئله را ارضاء می کنند بهترین را انتخاب کند. متاسفانه تعداد چنین بردارهایی مشکل اصلی ماست .بطوریکه یک کامپیوتر فرضی که می تواند یک بیلیون بردار را در یک ثانیه امتحان کند؛برای n = 60 بیش از 30 سال وقت لازم دارد و بیش از 60 سال برای n = 61 و دهها قرن برای n = 65 والی اخر. با این وجود با استفاده از الگوریتمهایی خاص می توان در بسیاری موارد مسئله ای با n = 100 000 را در عرض چند ثانیه روی یک کامپیوترکوچک حل کرد .
3-1- یک مثال از مسئله کوله پشتی
صورت مسئله: دزدی قصد سرقت از مغازه ای رو دارد و حداکثر وزن w از اجناس را که می تواند بدزد در این مغازه n نوع جنس وجود دارد. اگر وزن جنس iام wi و قیمت آن vi باشد ماکسیمم سودی که بدست می آورد چقدر است؟
این مسئله به دو صورت تعریف میشود : 1- صفر و یک 2- حالت کسری
در حالت صفر و یک مسئله به این صورت تعریف میشود که دزد یا یک جنس رو برمیدارد و یا برنمیدارد و حق برداشتن تکه ای از یک جنس را ندارد. برای این مسئله راه حل حریصانه ای وجود ندارد و به ارائه یک راه حل پویا حل میشود.
ایده حل این مسئله در حالت پویا به این صورت هست که دزد یا جنس iام رو برمیدارد و یا برنمیدارد و براساس این دو حالت سود زیرمسئله ایجاد شده محاسبه میشود و از مسیری که جواب ماکسیمم رو داده پیش خواهد رفت.
حالت دوم حالت کسری است که دزد می تواند کسری از یک قطعه را بردارد.
[1] container
[2] Elitist theory
[3] Immigration rate
[4] Heuristics on-line
[5] crossover
[6] upper bounds