লোড চাহিদা এবং সীমা

The loadDemands property is defined under ShipmentModel.shipments.Shipment and the loadLimits property under ShipmentModel.vehicles.Vehicle.

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

লোডের চাহিদা এবং সীমা উদ্দেশ্যগুলিকে সমর্থন করতে পারে যেমন:

  • যানবাহন ওভারলোড হওয়া থেকে বিরত রাখুন।
  • চালান তোলা এবং বিতরণ করার সাথে সাথে গাড়ির লোড কীভাবে পরিবর্তিত হয় তা পর্যবেক্ষণ করুন।
  • ভারী লোড চালানের সাথে ভারী শুল্কযুক্ত যানবাহনের জোড়াকে অগ্রাধিকার দিন।

এই বৈশিষ্ট্যগুলিতে লোডের চাহিদা এবং সীমা নির্দিষ্ট করা হয়েছে:

  • loadDemands একটি নির্দিষ্ট চালানের জন্য প্রয়োজনীয় ক্ষমতার পরিমাণ নির্দিষ্ট করে।
  • loadLimits একটি প্রদত্ত গাড়ির জন্য সর্বাধিক ক্ষমতা নির্দিষ্ট করে।

গঠন

ডায়াগ্রামে দেখানো হয়েছে, লোডের চাহিদা এবং সীমা নিম্নরূপ গঠন করা হয়েছে:

  • loadDemands Shipment একটি সম্পত্তি। একটি Shipment একাধিক লোড চাহিদা থাকতে পারে।
  • loadLimits হল Vehicle একটি সম্পত্তি। একটি Vehicle একাধিক লোড সীমা থাকতে পারে।

প্রয়োজনীয় চেকলিস্ট

নিম্নলিখিত চেকলিস্টটি প্রয়োজনীয় জ্ঞান বর্ণনা করে যা সম্ভাব্য লোড-সম্পর্কিত ভুলগুলি প্রতিরোধ করে। এই তালিকা আপনাকে আপনার অনুরোধ যাচাই করতে এবং আপনার প্রতিক্রিয়ার সমস্যা সমাধানে সহায়তা করতে পারে।

বৈশিষ্ট্য

এই বিভাগটি লোডের চাহিদা এবং সীমার বৈশিষ্ট্যগুলি বর্ণনা করে, যা নিম্নরূপ:

  • লোডের ধরন: লোডের চাহিদা এবং সীমার মধ্যে একটি ভাগ করা সম্পত্তি।
  • Load এবং LoadLimit : লোড চাহিদা এবং লোড সীমা যথাক্রমে অনন্য বৈশিষ্ট্য উপস্থিত।

লোড প্রকার

একটি লোড টাইপ হল একটি স্ট্রিং কী যা আপনি চালান এবং যানবাহনে সমানভাবে প্রয়োগ করেন। একটি একক লোড টাইপ একটি চালানের লোড চাহিদার পাশাপাশি গাড়ির লোড সীমাতে প্রযোজ্য।

লোডের ধরনগুলি প্রোটোকল বাফার ম্যাপ টাইপ সিনট্যাক্স ব্যবহার করে। একটি লোড প্রকারের নামকরণ করার সময়, লোডের ধরন এবং এর ইউনিট বর্ণনাকারী শনাক্তকারী ব্যবহার করুন। উদাহরণস্বরূপ: ওজন কেজি , ভলিউম_গ্যালন , প্যালেট কাউন্ট , বা ফ্রিকোয়েন্সি দৈনিক

Load এবং LoadLimit

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

অবজেক্ট অভিভাবক সম্পত্তি সম্পত্তির ধরন সম্পত্তির বিবরণ
Load loadDemands amount স্ট্রিং (int64 বিন্যাস) নির্দিষ্ট প্রকারে চালানের ক্ষমতার প্রয়োজনীয়তা সংজ্ঞায়িত করে।
LoadLimit loadLimits maxLoad স্ট্রিং (int64 বিন্যাস) নির্দিষ্ট প্রকারে গাড়ির সর্বোচ্চ লোড ক্ষমতা সংজ্ঞায়িত করে।

উদাহরণ

এই বিভাগে তিন ধরনের উদাহরণ কভার করে:

কোড নমুনা

নিম্নলিখিত উদাহরণটি একটি লোড চাহিদার কাঠামো দেখায় যেখানে আপনি একটি স্ট্রিং হিসাবে loadDemands টাইপ এবং int64 বিন্যাসে একটি স্ট্রিং হিসাবে amount সম্পত্তি সেট করতে পারেন:

{
  "model": {
    "shipments": [ ...
      {
        "loadDemands": {
          "MATCHING_LOAD_TYPE": {
            "amount": "YOUR_LOAD_AMOUNT"
          }
        }
      }
    ],
    "vehicles": [ ...
    ]
  }
}

নিম্নলিখিত উদাহরণটি একটি লোড সীমার সবচেয়ে মৌলিক কাঠামো দেখায়, যেখানে আপনি একটি স্ট্রিং হিসাবে loadLimits টাইপ এবং int64 বিন্যাসে একটি স্ট্রিং হিসাবে maxLoad বৈশিষ্ট্য সেট করতে পারেন:

{
  "model": {
    "shipments": [ ...
    ],
    "vehicles": [ ...
      {
        "loadLimits": {
          "MATCHING_LOAD_TYPE": {
            "maxLoad": "YOUR_MAX_LOAD"
          }
        }
      }
    ]
  }
}

উদাহরণ দৃশ্যকল্প

এই বিভাগটি এমন একটি পরিস্থিতি বর্ণনা করে যেখানে আপনার একটি কুকুরের ডে-কেয়ার ব্যবসা রয়েছে এবং আপনি সীমিত পরিমাণে ক্রেট সহ একটি গাড়িতে কয়েকটি কুকুর পরিবহনের জন্য একটি রুট অপ্টিমাইজ করছেন।

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

এই উদাহরণের জন্য, আপনার অনুরোধে সম্পত্তির মানগুলি হল:

অভিভাবক সম্পত্তি টাইপ মান দৃশ্যকল্প
loadDemands লোড প্রকার স্ট্রিং dogUnit চালানের জন্য লোডের ধরন সংজ্ঞায়িত করে। এই উদাহরণটি dogUnit ব্যবহার করে, যেখানে প্রতিটি dogUnit একটি কুকুরের প্রতিনিধিত্ব করে।
loadDemands amount সংখ্যা ১ম চালানঃ 1
২য় চালান: 3
সংজ্ঞায়িত লোড প্রকারের পরিমাণ নির্দিষ্ট করে। এই উদাহরণে, আপনি দুটি চালান সংজ্ঞায়িত করছেন, প্রথমটিতে আপনি একটি কুকুর তুলে নিচ্ছেন, দ্বিতীয়টিতে আপনি 3টি কুকুর তুলে নিচ্ছেন।
loadLimits লোড টাইপ স্ট্রিং dogUnit গাড়িতে প্রয়োগ করা লোড সীমার ধরন সংজ্ঞায়িত করে। সীমাটি প্রাসঙ্গিক হওয়ার জন্য এটি অবশ্যই চালানের লোড প্রকারের সাথে মেলে
loadLimits maxLoad সংখ্যা 6 গাড়িটি যে পরিমাণ লোড বহন করতে পারে তার সর্বাধিক পরিমাণ নির্দিষ্ট করে। এই উদাহরণে, আপনার কাছে সর্বাধিক 6টি dogUnit ক্ষমতার একটি মাত্র গাড়ি রয়েছে, যেখানে প্রতিটি dogUnit একটি কুকুরের ক্রেটকে প্রতিনিধিত্ব করে।

নিম্নলিখিত চিত্রটি গাড়ির লোড সীমা, প্রতিটি চালানের লোডের চাহিদা এবং প্রতিটি চালান গাড়ির লোড সীমা কীভাবে গ্রাস করে তা ব্যাখ্যা করে:

The vehicle begins the route with 6 empty spaces representing the load limits of the vehicle. The first shipment demands space for one dog, the second shipment demands space for three dogs. The end state of the vehicle is having 4 of the 6 spaces now occupied, with two empty spaces remaining.

এই উদাহরণে, প্রতিটি চালানের লোড চাহিদা এবং যানবাহনের লোড সীমার নিম্নলিখিত প্রভাব রয়েছে:

  • কুকুর পরিবহনের জন্য গাড়ির জন্য একটি রুট তৈরি করতে অপ্টিমাইজারের কোন সমস্যা হবে না , যেহেতু যানটি 6টি কুকুর পর্যন্ত বহন করতে পারে এবং আপনি শুধুমাত্র 4টি কুকুরকে তুলছেন।

  • গাড়িতে একটি 6 dogUnit লোড সীমা থাকার মানে হল আপনি এই নির্দিষ্ট গাড়িতে শুধুমাত্র আরও দুটি কুকুর বহন করতে পারবেন।

  • কুকুরের সংখ্যা লোড সীমার চেয়ে বেশি হলে, অপ্টিমাইজার হয় পিক আপগুলির একটি এড়িয়ে যাবে বা এটি একটি উপযুক্ত গাড়িতে বরাদ্দ করবে।

মনে রাখবেন পূর্বনির্ধারিত প্রকারের কোন সেট নেই । এই উদাহরণে, আপনি কুকুরের ওজন সীমিত করতে কুকুরের ইউনিট থেকে ওজন ইউনিটে লোডের ধরন পরিবর্তন করতে পারেন, অথবা তাদের প্রস্থ বা উচ্চতা সীমিত করতে রৈখিক পরিমাপে পরিবর্তন করতে পারেন। এই নমনীয়তা আপনাকে লোডের চাহিদা এবং আপনার নির্দিষ্ট প্রয়োজনের সীমাবদ্ধ করতে দেয়।

অনুরোধ উদাহরণ

নিম্নলিখিত উদাহরণটি একটি মৌলিক optimizeTours অনুরোধের কাঠামো দেখায় যা উদাহরণের দৃশ্যের মানগুলিকে অন্তর্ভুক্ত করে:

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.8024,
              "longitude": -122.4058
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.759773,
              "longitude": -122.427063
            }
          }
        ],
        "label": "One bernese mountain dog",
        "loadDemands": {
          "dogUnit": {
            "amount": "1"
          }
        }
      },
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.7359,
              "longitude": -122.5011
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.759773,
              "longitude": -122.427063
            }
          }
        ],
        "label": "Three chihuahuas",
        "loadDemands": {
          "dogUnit": {
            "amount": "3"
          }
        }
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "endLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "loadLimits": {
          "dogUnit": {
            "maxLoad": "6"
          }
        },
        "costPerKilometer": 1.0
      }
    ]
  }
}

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