PDA

View Full Version : قرار دادن جعبه در کامیون با #C (مکعب هایی با خاصیت آهن ربایی)



nasr
دوشنبه 13 آذر 1391, 09:08 صبح
سلام
یه کامیون داریم که می خواد بارگیری کنه
این کامیون گاهی وقتها کوچیکه گاهی وقتها بزرگ
توی این کامیون جعبه هایی قرار میگیره که ابعاد جعبه ها متفاوته
راننده و کارگرایی که کار بار کردن را دارن همیشه مشکل دارن
چرا که نمی دونند کدوم جعبه را کجا بزارند که بهترین حالت را داشته باشه و بیشترین جعبه را بشه توی کامیون قرار داد
حالا می خوام برنامه ای بنویسم که بشه بصورت گرافیکی اول اپراتور جعبه ها را توی کامیون بچینیم
بعد یه پرینت بدیم دست کارگر ها بگیم اینطوری بچینید

می خوام یه باکس بزرگ باشه که بشه باکس های کوچک را داخلش قرارد داد؟
ممنون میشم اگه کسی روشی پیشنهاد بده

hakim22
دوشنبه 13 آذر 1391, 09:23 صبح
در حل هر مسئله با رایانه همیشه دو راه حل وجود داره ( حداقل!) یکیش اینه که با کار سخت ( برنامه نویسیی حلقه ای) بهترین حالت را جستجو کنید.
یعنی اول همه ی حالات ممکن را بسازید و بعد یکی یکی آنها را با یک فاکتوری ارزشیابی کنید و بهترین حالت ( در اینجا حجم کمتر بار) را پیدا کنید.

حتما راه بهتری هست ، میشه با یک سری پیشفرض ها و قوانین فیزیکی ( مثلا اینکه جعبه های بزرگتر بهتره زیر قرار بگیرند ) مجهولات مسئله رو کم کرد.

شما به راه اول خیلی ساده تر دست پیدا می کنید و این برای نسخه ی اولیه برنامه ی شما کافیه ، در آینده برای بهینه سازی الگورتمی که پیدا کردید تلاش کنید

Shahram_12
دوشنبه 13 آذر 1391, 11:49 صبح
باید اول اندازه جعبه ها و تعداد اونها رو مرتب کنی
همچنین ابعاد جعبه ها رو هم باید داشته باشی
با دونستن ابعاد کامیون و تناژ قابل حمل از بزرگترینن جعیه شروع میکنی به چیدن در عرض تا عرض کامیون پر بشه
حالا لازمه ارتفاعی هم اونو معین کنی
همینطور در طول پیش بری
البته لازمه وزن جعبه ها و تناژ اونارو کنترل کنی

S.Reza
دوشنبه 13 آذر 1391, 15:23 عصر
سوال شما بسیار به مسئله کوله پشتی (اگر درس طراحی الگوریتم رو پاس کرده باشید به این مسئله برخورد کرده اید ) شبیه است

راه حل های که برای مسئله کوله پشتی وجود دارد برای مسئله شما نیز صادق است

البته شما دارای محدودیت های بیشتری از قبیل ارتفاع جعبه ها ، مقدار وزنی که کامیون میتواند حمل کند و یا اولویت ارسال جعبه ها و . . . . هستید که میتوانید با تکنیک های مختلف برنامه نویسی ان را پیاده سازی کنید