খরচ মডেল

The cost properties are defined under ShipmentModel.shipments.Shipment and ShipmentModel.vehicles.Vehicle

রুট অপটিমাইজেশন এপিআই-এর মূল লক্ষ্য হলো সর্বনিম্ন খরচের রুট খুঁজে বের করা। সেই হিসেবে, কস্ট মডেলই রুট অপটিমাইজেশনের প্রধান চালিকাশক্তি।

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

ব্যয় মডেলের বৈশিষ্ট্যগুলো নিম্নলিখিত ধরনের অপ্টিমাইজেশন উদ্দেশ্যসমূহকে সমর্থন করে:

  • যানবাহনের দক্ষ বরাদ্দ এবং রুট
  • সাশ্রয়ী পিকআপ এবং ডেলিভারি সময়
  • গুরুত্বপূর্ণ চালানের অগ্রাধিকার

কাঠামো

As shown in the diagram, cost model properties are structured as follows:

এই নথিতে শুধুমাত্র ব্যয় মডেলের অপরিহার্য প্যারামিটারগুলো তুলে ধরা হয়েছে । ব্যয় প্যারামিটারগুলোর সম্পূর্ণ সেটের জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

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

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

বৈশিষ্ট্য

নিম্নোক্ত সারণিতে ব্যয় মডেলের বৈশিষ্ট্যগুলো তালিকাভুক্ত ও বর্ণনা করা হয়েছে।

অভিভাবক সম্পত্তির নাম সম্পত্তির ধরণ প্রতি খরচ সম্পত্তির বিবরণ
Shipment penaltyCost সংখ্যা চালান এড়িয়ে যাওয়া হয়েছে চালানটি বাদ দেওয়ার কারণে সৃষ্ট খরচ।
যখন কোনো চালান সম্পন্ন করার খরচ তার জরিমানা খরচকে ছাড়িয়ে যায়, তখন এপিআই সেই চালানটি বাদ দেয়।
  • penaltyCost নির্ধারণ করলে, অধিক খরচের চালানগুলোর ডেলিভারিতে অগ্রাধিকার দেওয়া হয়।
  • চালানের জন্য কোনো penaltyCost নির্ধারণ না করলে চালানটি বাধ্যতামূলক হয়ে যায়।
  • শিপমেন্ট penaltyCost স্পষ্টভাবে শূন্যতে সেট করলে, অন্য কোনো সীমাবদ্ধতার কারণে প্রয়োজন না হলে এপিআই (API) সর্বদা শিপমেন্টটি এড়িয়ে যায়
Vehicle fixedCost সংখ্যা চালান এই যানবাহনটি কোনো চালান পরিবহনের জন্য ব্যবহৃত হলে নির্দিষ্ট খরচ প্রযোজ্য হবে।
costPerHour সংখ্যা ঘণ্টা যাতায়াত, অপেক্ষা, পরিদর্শন এবং বিরতির সময় সহ প্রতি ঘন্টায় যানবাহন পরিচালনার খরচ।
এই খরচ বাড়ার সাথে সাথে, অপটিমাইজার এমন দ্রুততর পথ খোঁজার চেষ্টা করে যা হয়তো সবচেয়ে ছোট পথ নাও হতে পারে।
এর সরলতা ও পূর্ণাঙ্গতার কারণে এই বৈশিষ্ট্যটি গাড়িপ্রতি খরচের একটি কার্যকর স্বতন্ত্র উৎস হতে পারে।
costPerKilometer সংখ্যা কিলোমিটার যানবাহন দ্বারা ভ্রমণ করা প্রতি কিলোমিটারের খরচ, যেমন জ্বালানি খরচ এবং যানবাহন রক্ষণাবেক্ষণের পরিশোধিত খরচ।
costPerTraveledHour সংখ্যা ঘণ্টা অপেক্ষা, পরিদর্শন এবং বিরতির সময় বাদে, শুধুমাত্র যাতায়াতের সময় প্রতি ঘণ্টায় যানবাহন পরিচালনার খরচ। এতে সংক্ষিপ্ত পথের চেয়ে দ্রুতগামী পথকে অগ্রাধিকার দেওয়া হয়।

উদাহরণ

এই অংশে তিন ধরনের উদাহরণ আলোচনা করা হয়েছে:

কোডের নমুনা

নিম্নলিখিত কোড নমুনাটি Shipment এর কস্ট মডেল প্রোপার্টিগুলোর গঠন দেখায়:

{
  "model": {
    "shipments": [ ...
      {
        "penaltyCost": PENALTY_COST
      }
    ],
    "vehicles": [ ...
    ]
  }
}

নিম্নলিখিত কোড নমুনাটি Vehicle এর কস্ট মডেল প্রোপার্টিগুলোর কাঠামো দেখায়:

{
  "model": {
    "shipments": [ ...
    ],
    "vehicles": [ ...
      {
        "fixedCost": FIXED_COST,
        "costPerKilometer": KILOMETER_COST,
        "costPerHour": HOUR_COST,
        "costPerTraveledHour": TRAVELED_HOUR_COST
      }
    ]
  }
}

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

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

এই উদাহরণে, এক কস্ট ইউনিট ১ ডলারকে বোঝায়। এর মানে হলো, আপনার অনুরোধে কস্ট মডেল প্রপার্টির মানগুলো নিম্নরূপ:

সম্পত্তি মূল্য দৃশ্যকল্প
penaltyCost ১০ নির্ধারিত দিনে কুকুর নিয়ে না যাওয়ার জন্য গ্রাহকদের উপর ধার্য করা জরিমানাকে এটি বোঝায়। যখনই আপনি নির্ধারিত দিনে কুকুরটি নিয়ে যাবেন না, গ্রাহক তার মোট পরিষেবা মূল্য থেকে ৪০ ডলার ছাড় পাবেন।
fixedCost ৩০ এটি আপনার গাড়ির ঋণের দৈনিক কিস্তির খরচকে বোঝায়, যা প্রতিদিন ৩০ ডলার।
costPerKilometer ০.০৮ এটি নির্দেশ করে আপনার যানবাহন প্রতি কিলোমিটারে কী পরিমাণ গ্যাসোলিন খরচ করে। আপনার যানবাহনটি চলতে প্রতি কিলোমিটারে ০.০৪ গ্যালন জ্বালানির প্রয়োজন হয় এবং আপনার অঞ্চলে প্রতি গ্যালনের দাম ২ ডলার।
costPerHour ২৭ এটি বোঝায় যে আপনি আপনার গাড়ি চালানোর জন্য একজন চালককে কত টাকা দেন। আপনি চালককে প্রতি ঘণ্টায় ২৭ ডলার দেন।
costPerTraveledHour ২.৫ রাস্তায় থাকাকালীন কুকুরদের জন্য গাড়ির এয়ার কন্ডিশনিং বাবদ প্রতি ঘণ্টায় আপনাকে কত টাকা দিতে হবে, তা এখানে উল্লেখ করা হয়েছে। যখন গাড়িটি স্থির থাকে, তখন চালক পেছনের দরজাগুলো খুলে এয়ার কন্ডিশনিং বন্ধ করে দিতে পারেন।

খরচের মাপকাঠির ওপর ভিত্তি করে অপটিমাইজার এমন কিছু আপস করতে পারে যা ব্যবহারকারীর কাছে স্পষ্ট নয়, কিন্তু অপটিমাইজেশনের মাধ্যমে তা খুঁজে পাওয়া সম্ভব।

নিম্নলিখিত ডায়াগ্রামটি এমন একটি উদাহরণ তুলে ধরেছে যেখানে অপ্টিমাইজারটি ডটেড লাল লাইনের ট্র্যাফিক এড়াতে সবুজ ড্যাশড লাইনের মধ্য দিয়ে একটি দীর্ঘতর কিন্তু দ্রুততর পথ বেছে নিতে পারে।

The vehicle has two possible routes, one represented by a green dashed line, which is longer but doesn't have any incidents, and one represented by a red dotted line, which is shorter but has a car crash in the middle of it.

এই পরিস্থিতিতে, দুটি পথের খরচের ভারসাম্য নিম্নরূপ:

  • সবুজ ড্যাশযুক্ত রেখাটির costPerHour এবং costPerTraveledHour কম, কারণ এটি যানজট এড়িয়ে একটি দ্রুত পথ, যা costPerKilometer বেশি হলেও অধিক সাশ্রয়ী

  • লাল ডটযুক্ত রেখাটি একটি সরাসরি পথ হওয়ায় এর costPerKilometer কম, কিন্তু যানজটে অপেক্ষার সময়ের কারণে costPerHour এবং costPerTraveledHour অনেক বেশি, ফলে এটিই সবচেয়ে ব্যয়বহুল পথ

সাশ্রয়ী রুট সরবরাহ করার পাশাপাশি, অপটিমাইজারটি রেসপন্স প্রপার্টিজে ডেলিভারি রুটগুলোর মোট খরচের একটি সমষ্টিও প্রদান করে।

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

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

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.8024,
              "longitude": -122.4058
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.759773,
              "longitude": -122.427063
            }
          }
        ]
        "penaltyCost": 40
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "endLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "fixedCost": 30,
        "costPerKilometer": 0.08,
        "costPerHour": 27,
        "costPerTraveledHour": 2.5
      }
    ]
  }
}

প্রতিক্রিয়া বৈশিষ্ট্য

OptimizeToursResponse মেসেজটিতে কস্ট প্রপার্টি রয়েছে, যা একটি রুট সম্পন্ন করার প্রক্রিয়ায় সংঘটিত খরচ বর্ণনা করে:

  • metrics.costs : খরচ-সম্পর্কিত অনুরোধ ক্ষেত্র অনুসারে বিভক্ত, সমস্ত রুট জুড়ে মোট খরচ।
  • metrics.totalCost : সমস্ত রুটের মোট খরচ।