আইটেমের শিপিংয়ের জন্য 3 ডি প্যাকিং অ্যালগরিদম


24

আমি শিপিংয়ের অনুমান তৈরির জন্য একটি কাজ পেয়েছি যা যতটা সম্ভব কম কয়েকটি বাক্সে পণ্যগুলির সর্বোত্তম আবাসনের পরামর্শ দেয়:

  1. পরিচিত রেটাঙ্গুলার বক্স আকারের একটি সীমাবদ্ধ সেট রয়েছে is

  2. বাক্সগুলির মধ্যে প্যাক করার জন্য অনেকগুলি নির্বিচারে রেট্যাঙ্গুলার আইটেম রয়েছে

  3. কম বাক্সগুলি সবচেয়ে ভাল ব্যবহার করা উচিত। কারণ দুটি বক্স 1x1x1 শিপিং করা এক বক্স 1x2x1 এর চেয়ে বেশি ব্যয়বহুল। এটি এখানে অগ্রাধিকার হওয়া উচিত।

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

  5. আইটেমগুলি বাক্সে ফিট করার জন্য ঘোরানো যেতে পারে, তবে আবর্তনটি ন্যূনতম 45 of এর ইনক্রিমেন্টের মধ্যে সীমাবদ্ধ থাকতে হবে (আমার গবেষণাগুলিতে মনে হয় যে কিছু কনফিগারেশন 45 ডিগ্রি ঘূর্ণনের জন্য আরও বড় রেট্যাঙ্গুলার বাক্সের অভ্যন্তরে আরও ভাল retangular বাক্স ফিট করতে পারে) , 90 ° ঘূর্ণন হচ্ছে মান নেওয়া উচিত।

  6. বাক্সগুলির ওজনের সীমা থাকে এবং আইটেমগুলিতে নির্বিচারে ওজন থাকে (উদাঃ: যে আইটেমটি 1x1x1 এর আকার 2x2x2 আইটেমের চেয়ে বেশি হতে পারে)

আমি কিছুটা গবেষণা করেছি এবং বিন প্যাকিং এবং ন্যাপস্যাক সমস্যার জন্য কিছু বিমূর্ত আলগোরিদিমগুলি পেয়েছি এবং সেরা ফিটের অ্যালগরিদমের অনুরূপ নিম্নলিখিত কিছুটা ব্রুটফোর্স প্রকরণ নিয়ে এসেছি:

  1. একটি "প্যাক করার জন্য আইটেম" তালিকায় আইটেমগুলি ডেস্রাসেন্ট ভলিউম ক্রমে (বৃহত্তর প্রথম) বাছাই করুন

  2. এই তালিকার প্রতিটি আইটেমের জন্য:

    1. "ব্যবহৃত বাক্সগুলি" তালিকায় থাকা ছোট বাক্সটি চয়ন করুন এবং আইটেমটি ফিট করার জন্য পর্যাপ্ত পরিমাণের পরিমাণ এবং ওজন সীমা রয়েছে (আমি মাত্রাগুলি এবং ওজনকে ফিট করার জন্য এখানে ফিট ব্যবহার করব)

    2. যদি এই ধরণের বাক্স না থাকে তবে সম্ভাব্য বাক্স আকারগুলির জ্ঞাত সেট থেকে একটি নতুন বাক্স তৈরি করুন যা সর্বনিম্ন আকার যা আইটেমটির মাত্রা এবং ওজন ফিট করে এবং এটি "ব্যবহৃত বাক্স" তালিকায় যুক্ত করতে পারে।

    3. যদি কোনও বাক্স আইটেমটি ফিট করে (ফিটিং ফাংশন বেলো ব্যবহার করে), এটি "এই বাক্সের আইটেমগুলির" তালিকায় যুক্ত করুন এবং বাক্সের তুলনায় এটি 3 ডি অবস্থানে চিহ্নিত করে "ফিট করার জন্য আইটেমগুলি" তালিকা থেকে সরিয়ে দিন।

    4. "আইটেমস প্যাক করার জন্য" তালিকায় কোনও আইটেম লাগাতে না পারা পর্যন্ত 2.1 থেকে পুনরাবৃত্তি করুন।

উপরের ২ য় ধাপে ব্যবহৃত ফিটিং চেক ফাংশন:

  1. বাক্সের বাকী আয়তন আইটেমের ভলিউম ফিট করে কিনা তা পরীক্ষা করুন। যদি না হয়, মিথ্যা ফিরে।

  2. "বাক্সের আইটেমগুলি" ওজনের যোগফল এবং বর্তমান আইটেমের ওজনের বাক্সের ওজন সীমাতে কম বা সমান কিনা তা পরীক্ষা করুন। যদি না হয়, মিথ্যা ফিরে।

  3. প্রথম বাক্সের স্থানাঙ্ক চয়ন করতে "বাক্সের আইটেমগুলি" তালিকাটি পরীক্ষা করে দেখুন যার মধ্যে সবচেয়ে ছোট ওয়াই উপাদান রয়েছে এবং এতে আইটেমের প্রস্থ, গভীরতা এবং উচ্চতার জন্য পর্যাপ্ত জায়গা রয়েছে, অন্য আইটেমগুলি অনুপলব্ধ স্থান হিসাবে বিবেচনা করা হয়।

  4. যদি আইটেমটি বর্তমানের দিকনির্দেশনা অনুসারে ফিট না করে তবে rot টি সম্ভাব্য ঘূর্ণনের একটিতে এটিকে ঘোরান, সরলতার জন্য 45 ° ঘূর্ণন ধরে না। (যে ঘূর্ণনগুলির ফলাফল মাপের ফলে ইতিমধ্যে পরীক্ষা করা যায় সেগুলি এড়ানো যায় Eg উদাহরণস্বরূপ: একটি বাক্স 180 ating ঘোরানো মূল অবস্থান হিসাবে একই ধরণের পরিমাণ দেয় কারণ সমস্ত বাক্স এবং আইটেমগুলি বিপরীত মুখগুলির জন্য একই আকার থাকে এবং তাই এড়িয়ে যেতে পারে))

  5. আইটেমটি সমস্ত সম্ভাব্য উপায়ে তার মূল দিকনির্দেশে ঘোরানো না হলে, পদক্ষেপ 3 থেকে আবার চেষ্টা করুন।

  6. যেখানে চেষ্টা করা হয়েছে এবং কোনও ফিট নেই এমন সমস্ত ঘূর্ণন যদি পাওয়া যায়, তবে বর্তমান স্থানাঙ্ককে অনুপলব্ধ স্থান হিসাবে বিবেচনা করুন।

  7. যদি চেক করার জন্য উপলভ্য স্থান না থাকে তবে মিথ্যা ফিরুন। অন্যথায়, পদক্ষেপ 3 থেকে আবার চেষ্টা করুন।

আমি জানতে চাই যে উপস্থাপিত প্রতিবন্ধকতাগুলি বিবেচনা করে আমার সমস্যার সর্বোত্তম সমাধান হতে পারে।

এটি তত্ত্বটিতে কাজ করে বলে মনে হচ্ছে তবে আমি কোডে চেষ্টা করে দেখিনি। আমি জানতে চাই যে আমি সঠিক দিকে যাচ্ছি বা আরও ভাল, পারফরম্যান্স করার উপায় আছে এটি করার জন্য।

উল্লেখগুলি দুর্দান্ত হবে।

সম্পাদনা:

আমি কিছু আকর্ষণীয় তৃতীয় পক্ষের এপিআই পেয়েছি যা আমি যা চাই তা করি তবে এটি সংযোগ বিচ্ছিন্ন করতে হবে, সুতরাং এগুলিতে আমার অ্যাক্সেস থাকবে না।

কয়েকটি উদাহরণ হ'ল:

সম্পাদনা 2:

সমস্যার সমাধানের প্রকৃত বিশ্বের উদাহরণ হ'ল:

  • আমার 4 বাক্সের আকার WxHxD রয়েছে: 10x12x18, 12x16x24, 16x20x30, 24x32x40
  • আমার কাছে 4 টি আইটেমের অর্ডার রয়েছে, আকারটি 1x 6x8x10, 2x 22x14x30 এবং 1x 22x4x20

সম্ভাব্যতম ক্ষুদ্রতম বাক্স ব্যবহার করে এবং যতটা সম্ভব কম ফাঁকা জায়গা রেখে আমি কম কম বাক্স ব্যবহার করে এক বা একাধিক আকারের বাক্সে এই আইটেমগুলি কীভাবে ফিট করব?


4
কোনও packingরিলেটেড ট্যাগের প্রয়োজন নেই ; algorithms
প্রত্যয়

আমি কৌতুহলী, প্রকৃত প্যাকিং রোবট বা মানুষ দ্বারা সম্পাদিত হবে? যদি এটি পরে থাকে তবে প্রতিটি বাক্সকে এটির জন্য কীভাবে ঘোরানো যায় তা নির্ধারণের জন্য স্থানটির অপ্টিমাইজেশন কী প্রয়োজনীয় সময়ের জন্য উপযুক্ত হবে?
foraidt

ভাল প্রশ্ন. আসল প্যাকিং মানুষের দ্বারা সম্পন্ন করা হবে, তবে সফ্টওয়্যারটি প্রতিটি বাক্সের প্যাকিং ক্রম এবং অবস্থানের পরামর্শ দেয়। প্রদত্ত লেআউটটি দেখতে এবং বাক্সের ভিতরে জিনিসগুলি রাখার জন্য এটি প্যাকিংয়ের অভিজ্ঞতার প্রয়োজন হবে না। প্রথমে কিছুটা সময় অভ্যস্ত হয়ে ব্যয় করতে হবে তবে সর্বোত্তম মনোভাব নিয়ে চিন্তা করার দরকার পড়বে না।
রিকার্ডো সুজা

1
আমার মনে হয় সমস্ত এমএমডাব্লু বলছে যে এই ধরণের সমস্যাটি সম্ভবত "নিখুঁত" সমাধানের জন্য ভাল ফিট নয়, বরং নিয়মগুলির উপর ভিত্তি করে হিউরিস্টিক্সের সাথে যুক্তিসঙ্গত পরিমাণে একটি গ্রহণযোগ্য সমাধানের জন্য এটি আরও ভাল ফিট fit প্রদান করা হয়েছে। গাণিতিক দৃষ্টিকোণ থেকে, এর অর্থ প্রায়শই আপনি পৃথক পৃথক অ্যালগরিদম এবং সরঞ্জামগুলির সাহায্যে এটিকে কাছে নিয়ে যান, তাই আমি মনে করি তিনি কেবল এটিই সুপারিশ করছেন। উদাহরণস্বরূপ, জেনেটিক অ্যালগরিদম, অনুকরণযুক্ত অ্যানিলিং এবং আপনার heতিহাসিকতার সাথে সম্মিলিতভাবে সমাধানের জায়গার সান্নিধ্যে গ্রেডিয়েন্ট বংশোদ্ভূত বক্র অনুসরণ করার অন্যান্য পদ্ধতিগুলি এখানে সুবিধাগুলি সরবরাহ করতে পারে।
জে ট্রানা

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

উত্তর:


4

বিন প্যাকিং খুব গণ্যকরভাবে কঠিন। সমস্যার অর্ধেকটি চিন্তা করুন: আপনি বাক্সে কোনও অপচয় না করে শিপিং বাক্সগুলিতে পণ্যটি প্যাক করতে চান। এর জন্য সর্বোত্তম সমাধানের জন্য সম্ভাব্য সমস্ত সাবসেটগুলি এবং পণ্যটির যে কোনও ট্রাকে শিপিংয়ের প্রয়োজনীয় সমস্ত সম্ভাব্য 3 ডি ব্যবস্থার মধ্য দিয়ে যেতে হবে। আমি আপনাকে এর সর্বোত্তম সমাধানটি দেব কারণ আমার একটি বন্ধু আছে যা সকালের প্রাতঃরাশের আগে ছয়টি অসম্ভব কাজ করে।

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

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

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

আমার মন্তব্যের সূক্ষ্ম প্রসারণের জন্য @ জেট্রানাকে ধন্যবাদ।


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

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

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

আপনার ইংরেজি ঠিক আছে; আমি মনে করি সমস্যাটি হ'ল আমরা কাজের বিভিন্ন স্তর সম্পর্কে কথা বলছি। আপনি বাস্তবায়নের কথা ভাবছেন এবং আমি সম্মিলিত বিস্ফোরণের কথা ভাবছি। আমি মনে করি আপনার সম্পাদনা 2 সমাধান করার ফলে সমস্যাটি আমি যেভাবে দেখছি তার থেকে সমস্যাটি আরও ভালভাবে বুঝতে সহায়তা করবে। আপনি কি সমাধান করেছেন? নষ্ট না করে সর্বনিম্ন আকারের ন্যূনতম সংখ্যক বাক্স সহ? এটি সেই মাল্টিপোটিমাইজেশন সমস্যা যার আগে আমি বলেছিলাম যে এটি করা অসম্ভব: অন্য কোনওটি অনুকূল করার জন্য আপনাকে কমপক্ষে একটি কারণ ত্যাগ করতে হবে।
এমএসডব্লিউ

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

1

নতুন অ্যালগরিদম তৈরি করার সময় এবং আমি সম্প্রতি নিজের দ্বারা একটি প্যাকিং অ্যালগরিদম করেছি (আমি জানি এটিতে এখনও কিছু অপ্টিমাইজেশন সম্ভাবনা রয়েছে), আমি সর্বদা সবচেয়ে সহজ পদ্ধিতি করি:

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

  1. খুব বড় আইটেমগুলি সনাক্ত করুন (যে আইটেমগুলি কোনও প্রদত্ত বাক্সে ফিট করে না)
  2. সম্ভাব্য সেরা বাক্সটি অনুসন্ধান করার চেষ্টা করুন (মোট ভলিউম এবং আইটেমের মাত্রাগুলি তুলনা করে)
  3. বড় থেকে ছোট এবং বাক্স (স্পেস) থেকে ছোট থেকে বড় আইটেম অর্ডার করুন
  4. সবচেয়ে ছোট আইটেম সবচেয়ে বড় আইটেম ফিট করুন
  5. যদি সবচেয়ে বড় আইটেম এটির উপরে ঝাঁপ দেয় না এবং আরও কিছু না ফিট না করে পরবর্তী চেষ্টা করুন
  6. বাকি আইটেমগুলির জন্য, নতুন সেরা বক্সটি অনুসন্ধান করুন। ...

    এক্স। সর্বদা ব্যতিক্রমী ইভেন্টগুলি সম্পর্কে চিন্তা করুন (বড় আকারের আইটেমগুলি, অদ্ভুত আকারগুলি, যদি একটি বাক্সে কেবলমাত্র 1 টি আইটেম থাকে তবে বাক্স ছাড়াই আইটেমটি পাঠানো ভাল না? ইত্যাদি) তবে আপনি সিদ্ধান্তের আকারে একটি তাত্ত্বিকও বানাতে পারেন গাছ।

অবশ্যই আপনি আরও পেতে আরও সতর্কতা আছে, আমি কেবল একটি প্রাথমিক পয়েন্ট হিসাবে এই ধারণা দেয়। সেখান থেকে সম্ভাব্য প্রচুর উপায় রয়েছে। একটি বিকল্প হ'ল একটি বাক্সকে সামান্য কিউবগুলিতে বিভক্ত করা (উদাহরণস্বরূপ 5 সেমি এক্স 5 সেন্টিমিটার 5 সেন্টিমিটার) এবং তাদের দখলকৃত হিসাবে মুক্ত / ট্র্যাক করা অন্য পদ্ধতির 3 ডি টেট্রিস ইত্যাদি বলা যেতে পারে etc.

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

কমপক্ষে আমি একজন মানুষ হিসাবে কীভাবে এই কাজটি মোকাবেলা করব, সেরা বাক্সটি পেয়ে যাব এবং তারপরে সবচেয়ে ছোট আইটেমটি একের পর এক সামান্যতম জায়গাতেই ফিট করব (এবং সামান্য প্রাকদর্শন যোগ করুন)।

আমার অ্যালগরিদমের মতো, শেষ পর্যন্ত আপনার কাছে সম্ভবত সবচেয়ে ভাল সমাধান হবে না, তবে একটি সুদূরপ্রসারী উত্তম হিউরিস্টিক যা পরে আপনি আরও পরিমার্জন করতে পারেন।

কখনও কখনও প্রথম পদক্ষেপের সাথে শুরু করা এবং আপনার পথে সমস্যাগুলি সমাধান করা সহজ well সেরাটি বা একটি "পদক্ষেপ ব্যাক" বাস্তবায়ন করুন।

তবে আমি যেমন আমার এআই শিক্ষকের কাছ থেকে শিখেছি (রোল্ফ ফফিফার, এটির সাথে আবার বিরক্ত হওয়ার জন্য দুঃখিত): কখনও কখনও আপনি কিছু খুব সাধারণ এবং কয়েকটি বিধি দ্বারা আপাত বুদ্ধিমান আচরণ তৈরি করতে পারেন> উদাহরণস্বরূপ উদীয়মান আচরণ তারা উল্লেখ করেন যে তারা সামান্য দূরবর্তী গাড়িগুলি বাম দিকে পরিণত করার প্রোগ্রাম করেছিলেন যদি তারা ডানদিকে একটি বাধা সনাক্ত করে, বাম দিকে কোনও প্রতিবন্ধকতা থাকলে ডানদিকে ঘুরুন এবং যদি কোনও বাধা না থাকে বা সামনে যদি বাধা থাকে তবে সরাসরি যান। 3 বা 4 টি রোবট, 3 মি x 3 মি স্কোয়ারে প্রচুর পিং-পং বল রাখার ফলে রোবটগুলি পরিষ্কার হয়ে যাচ্ছে বলে মনে হয়, পিং-পং বলগুলি কোণে ঠেলে দেয়, যদিও রোবটগুলি কেবল বাধা এড়ানোর জন্য প্রোগ্রাম করা।

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


1

আপনি আপনার পোস্টে যে বৌদ্ধিক বিষয়টির উল্লেখ করেছেন তা আকর্ষণীয় বলে মনে হচ্ছে।

আমি চূড়ান্ত সমাধানের উন্নতি করার জন্য কয়েকটি পরিবর্তন প্রস্তাব করব।

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

বিকল্পভাবে, প্রতিবার আপনি যখন নতুন বক্স শুরু করেন, বর্তমান আইটেমটি সামঞ্জস্য করতে পারে এমন ছোট্ট বাক্সটি ব্যবহার না করে আপনি এটি উপযুক্ত করতে পারেন এমন সবচেয়ে বড় বাক্সটি বেছে নিতে পারেন, এবং প্রতিটি আইটেম যখন কোনও বাক্সে বরাদ্দ করা হয়, তখন তার সমস্ত আইটেম নির্ধারণের চেষ্টা করুন একটি ছোট বাক্সে বাক্স।

এছাড়াও, আপনার ফিটিং ফাংশনে আপনার অন্য বাক্সগুলির অবস্থান স্থির হিসাবে বিবেচনা করার পরিবর্তে, আপনি লোডিং ক্রমটি পরিবর্তন করার কথা ভাবতে পারেন। এটি আপনাকে দীর্ঘকাল চলমান সময় ব্যয় করে আরও ভাল সমাধানগুলি খুঁজে পেতে দেয়।


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