با سلام
این مسئله با عنوان Bin packing problem شناخته می شود. اطلاعات کلی و نرم افزارهایی که قابلیت حل این مسئله را دارند در سایت [Hidden Content] موجود می باشد.
با اینکه نرم افزارهای متعددی چه به صورت رایگان و چه به صورت تجاری موجود می باشند با این همه اگر جنابعالی بتوانید با استفاده از کتابخانه های موجود که برای این کار در نظر گرفته شده است (مانند OpenOpt به زبان Python) نرم افزاری تهیه فرمایید شاید در فعالیت های تحقیقاتی که در آینده انجام خواهید داد بتوانید از آن استفاده نمایید.
تعدادی لینک که می توانند مفید باشند در زیر ارائه شده است:
1. سایت [Hidden Content] حاوی کد برنامه به زبان VB.Net
2. سایت [Hidden Content] حاوی کد برنامه به زبان C#
3. مقاله " A Greedy Algorithm with Forward-Looking Strategy" حاوی pseudo code لازم و نحوه استفاده از الگوریتم Greedy برای حل مسئله Bin packing می باشد.
در ضمن با توجه به کتابخانه های آماده برای حل این مسئله، به نظر می رسد نوشتن کد برنامه از ابتدا مقرون به صرفه نباشد. نحوه استفاده از کتابخانه ها و کدهای آماده و یادگیری الگوریتم هایی که در آنها استفاده شده است به نظر می تواند بیشتر کاربردی باشد.
با تشکر