نموذج التكلفة

يتم تحديد خصائص التكلفة ضمن ShipmentModel.shipments.Shipment وShipmentModel.vehicles.Vehicle

الهدف الرئيسي من Route Optimization API هو العثور على مسارات بأقل تكلفة. وبالتالي، فإنّ نموذج التكلفة هو المحرّك الرئيسي لتحسين المسار.

نموذج التكلفة هو مجموعة من السمات التي تحدّد التكاليف العالمية وتكاليف المركبات والشحنات.

تتيح خصائص نموذج التكلفة أنواع أهداف التحسين التالية:

  • تحديد المركبات والمسارات بكفاءة
  • أوقات استلام الطلبات وتوصيلها بأسعار معقولة
  • تحديد أولويات الشحنات المهمة

البنية

كما هو موضّح في الرسم التخطيطي، يتم تنظيم خصائص نموذج التكلفة على النحو التالي:

يُركّز هذا المستند فقط على المَعلمات الأساسية لنموذج التكلفة. اطّلِع على المستندات المرجعية للحصول على المجموعة الكاملة من مَعلمات التكلفة.

قائمة التحقّق من Essentials

توضّح قائمة التحقّق التالية المعلومات الأساسية التي تمنع ارتكاب أخطاء محتملة متعلّقة بالتكلفة. يمكن أن تساعدك هذه القائمة في التحقّق من صحة طلبك وتحديد المشاكل في ردّك وحلّها.

الخصائص

يسرد الجدول التالي سمات نموذج التكلفة ويوضّحها.

أحد الوالدين اسم السمة نوع مكان الإقامة التكلفة لكل وصف الموقع
Shipment penaltyCost الرقم تم تخطِّي الشحن تمثّل هذه السمة التكلفة التي يتم تكبّدها عند تخطّي الشحنة.
تتخطى واجهة برمجة التطبيقات شحنة عندما تتجاوز تكلفة إكمالها تكلفة الغرامة.
  • يؤدي ضبط penaltyCost إلى منح الأولوية لتسليم الشحنات ذات التكلفة الأعلى.
  • عدم ضبط penaltyCost للشحنة يجعل الشحنة إلزامية.
  • يؤدي ضبط شحنة penaltyCost على صفر إلى تخطّي واجهة برمجة التطبيقات للشحنة دائمًا ما لم تتطلّبها قيود أخرى.
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 10 تمثّل هذه السمة الغرامة التي تفرضها على العملاء لعدم استلامهم كلبهم في اليوم المحدّد. في كل مرة لا يتم فيها استلام الكلب في يوم محدّد، يحصل العميل على خصم بقيمة 40 دولارًا أمريكيًا من إجمالي تكلفة الخدمة.
fixedCost 30 تمثّل هذه السمة التكلفة اليومية لأقساط قرض السيارة، وهي 30 دولارًا أمريكيًا في اليوم.
costPerKilometer 0.08 يمثّل هذا الحقل كمية البنزين التي تستهلكها مركبتك لكل كيلومتر. تحتاج مركبتك إلى 0.04 غالون لكل كيلومتر لتتحرك، وتبلغ تكلفة الغالون الواحد في منطقتك دولارَين أمريكيَّين.
costPerHour 27 يمثّل هذا الحقل المبلغ الذي تدفعه لسائق مقابل قيادة مركبتك. تدفع للسائق 27 دولارًا في الساعة.
costPerTraveledHour 2.5 يمثّل هذا الحقل المبلغ الذي عليك دفعه مقابل استخدام مكيّف الهواء في المركبة لكل ساعة للكلاب أثناء التنقّل. عندما تكون المركبة متوقفة، يمكن للسائق فتح الأبواب الخلفية وإيقاف تكييف الهواء.

استنادًا إلى مَعلمات التكاليف، يمكن أن يُجري المحسِّن تسويات غير واضحة للمستخدم، ولكن يمكن العثور عليها من خلال التحسين.

يوضّح المخطّط التالي مثالاً يمكن فيه لميزة التحسين اختيار مسار أطول ولكن أسرع عبر الخط المتقطّع الأخضر لتجنُّب الازدحام على الخط المتقطّع الأحمر.

تتوفّر للمركبة مساران محتملان، أحدهما ممثّل بخط متقطّع أخضر وهو أطول ولكن لا يتضمّن أي حوادث، والآخر ممثّل بخط منقّط أحمر وهو أقصر ولكن يتضمّن حادث سير في منتصفه.

في هذا السيناريو، يكون رصيد التكلفة للطريقَين كما يلي:

  • يتميّز الخط المتقطّع الأخضر بانخفاض 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: إجمالي التكلفة على جميع المسارات.