کوله پشتی صفر و یک - نسخهی قابل چاپ |
کوله پشتی صفر و یک - zr2358 - 16 دى ۱۳۸۹ ۰۷:۳۳ ب.ظ
من با راه حل کوله پشتی ۰/۱ مشکل دارم میشه این سؤال رو حل کنید: ۵ شی داریم با وزنها و ارزش های زیر: p1=35 w1=7 p2=30 w2=5 p3=20 w3=2 p4=12 w4=3 p5=3 w5=1 ظرفیت کوله پشتی ۱۳ است. مقدار سود ماکزیمم چقدر است؟ ۶۵ ۶۸ ۷۰ ۸۰ سوال IT85 تو کتابا با نگرش مجموعه ای حل کرده راه حلی طولانی و بدفهم لطفا یه جور بگین که بفهمم چی شد ساده و خلاصه (به قول معروف کنکوری) مرسی |
کوله پشتی صفر و یک - ف.ش - ۱۶ دى ۱۳۸۹ ۰۹:۳۲ ب.ظ
خوب کوله پشتی صفر و یک به روشهای مختلفی حل میشه که من فقط حریصانه رو بلدم که همیشه هم جواب بهینه نمیده! شما اول باید سود واحد هر شی رو بدست بیارید.( تا بفهمید ارزش بر گرم یا کیلوگرم یک شی چقدره) بعد اونها رو برحسب سود واحد به صورت نزولی مرتب کنید بعد یکی یکی انتخاب کنید و ارزش و وزنش رو جمع بزنید هرکدوم که باعث شد وزن از حد مجاز بیشتر بشه بیخیال بشین و برید سراغ بعدی. مثلا p1 سود واحد (که من با Ci نشون میدم) برابر ۵ داره. c1=5 c2=6 c3=10 c4=4 c5=3 مرتب میکنیم بعد اول c3 انتخاب میشه وزن میشه ۲ بعد C2 وزن میشه ۲+۵ و بعد C1 وزن میشه ۱۴ پس C1 رو بیخیال میریم بعدی C4 وزن میشه ۱۰ و بعد c5 و وزن میشه ۱۱ و چون کوله پشتی پر نشد پس این جواب الزاما بهینه نیست! پس ارزشها رو جمع میزنیم (Pها ):۲۰+۳۰+۱۲+۳ =۶۵ چون روش کوله پشتی صفر و یک چون حریصانه است الزاما جواب بهینه رو نمیده!!! اینبار هم همینطوره چون جواب حل بهینه میشه برداشتن اشیا اول و دوم و پنجم که جمع ارزش میشه ۶۸! |
کوله پشتی صفر و یک - zr2358 - 16 دى ۱۳۸۹ ۱۰:۲۹ ب.ظ
من خودم این روش را بلدم ولی این برای کوله پشتی ۰/۱ راه حل خوبی نیست باید از پرنامه نویسی پویا استفاده کنیم جواب هم نه ۶۵ نه ۶۸ کلید جواب ۷۰ است!!! کسی راه حلشو بلده؟؟؟؟؟؟؟ |
RE: کوله پشتی صفر و یک - Masoud05 - 16 دى ۱۳۸۹ ۱۰:۳۴ ب.ظ
(۱۶ دى ۱۳۸۹ ۰۹:۳۲ ب.ظ)afagh1389 نوشته شده توسط: خوب کوله پشتی صفر و یک به روشهای مختلفی حل میشه که من فقط حریصانه رو بلدم که همیشه هم جواب بهینه نمیده!آفاق عزیز معلومه که روش حریصانه درست نیست چونکه حریصانه فقط برای بهینه سازی محلیه ونمی تواند جواب بهینه نهایی رو بده، اما اگه کوله پشتی کسری بود روش حل بهینه محلی و سراسری یکی بود . اما در کوله پشتی صفر و یک باید مسئله رو به زیر مسائل بهینه تقسیم کنیم به نحوی که ترکیب این زیر پاسخها به جواب بهینه برسه( خصیصه الگوریتم های پویا) اما جواب مقدار ۷۰ هست چراکه گزینه ۴ با مقدار ۸۰: باید برای سود ۸۰ اشیا با وزنهای ۳۵ و ۳۰ و۱۲ و ۳ انتخاب بشه (هیچ راهی دیگه نداریم که مجموع ۸۰ بشه، اما اگه وزن قطعات متناظر با سود داده شده بررسی کنیم میشه ۱۶ پس توی کوله جا نمیشه بریم روی گزینه ۳ با مقدار ۷۰: همه اشیا غیر ۲ انتخاب میشه با ارزش ۷۰ و وزن ۱۳ و از آنجا که ۷۰ از مقدار گزینه ۱و ۲ بیشتره پس جواب همینه اینم راه حل تستی امیدوارم جواب گرفته باشید. |
کوله پشتی صفر و یک - saeed90 - 05 خرداد ۱۳۹۱ ۱۱:۴۹ ق.ظ
با سلام من کد کوله پشتی ۰و۱ رو میخواهم با تشکر |
RE: کوله پشتی صفر و یک - a.hooshmand - 05 خرداد ۱۳۹۱ ۱۱:۵۸ ق.ظ
(۰۵ خرداد ۱۳۹۱ ۱۱:۴۹ ق.ظ)saeed90 نوشته شده توسط: با سلام اینجا را ببین مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید. |