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

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 সম্পত্তি সেট করতে পারেন:

"loadDemands": {
  "MATCHING_LOAD_TYPE": {
    "amount": "YOUR_LOAD_AMOUNT"
  }
}

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

"loadLimits": {
  "MATCHING_LOAD_TYPE": {
    "maxLoad": "YOUR_MAX_LOAD"
  }
}

চেষ্টা করে দেখুন

একটি কাল্পনিক দৃশ্যকল্প তৈরি করতে উপরের কোড উদাহরণগুলি ব্যবহার করুন। এই পরিস্থিতিতে, আপনার কাছে 10 কিলোগ্রাম ওজনের একটি চালান রয়েছে এবং একটি যান যা 100 কিলোগ্রাম বহন করতে পারে:

  1. loadDemands উদাহরণে, লোডের ধরনটিকে weightKg হিসাবে সংজ্ঞায়িত করুন।

    একবার আপনি এটি করলে, loadLimits উদাহরণের লোডের ধরনটিও লোডের ধরন ভাগ করে পূরণ হবে। মনে রাখবেন loadDemands ধরন এবং loadLimits অবশ্যই গাড়ির সীমা ব্যবহার করার জন্য চালানের জন্য মেলে

  2. একই loadDemands উদাহরণে, amount সম্পত্তি 10 এ সেট করুন।

    এর মানে চালানটির ওজন 10 কিলোগ্রাম।

  3. loadLimits উদাহরণে, maxLoad প্রপার্টি 100 এ সেট করুন।

    এর মানে গাড়িটি সর্বোচ্চ 100 কিলোগ্রাম বহন করতে পারে।

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

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

নীচের উদাহরণটি একটি শিপমেন্টে loadDemands এবং একটি গাড়িতে loadLimits সহ একটি মৌলিক optimizeTours অনুরোধের কাঠামো দেখায়:

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 00.000000,
              "longitude": 00.000000
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 00.000000,
              "longitude": 00.000000
            }
          }
        ],
        "loadDemands": {
          "MATCHING_LOAD_TYPE": {
            "amount": "YOUR_LOAD_AMOUNT"
          }
        }
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 00.000000,
          "longitude": 00.000000
        },
        "endLocation": {
          "latitude": 00.000000,
          "longitude": 00.000000
        },
        "costPerKilometer": 1.0,
        "loadLimits": {
          "MATCHING_LOAD_TYPE": {
            "maxLoad": "YOUR_MAX_LOAD"
          }
        }
      }
    ]
  }
}

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