সূচক
-
RouteOptimization
(ইন্টারফেস) -
AggregatedMetrics
(বার্তা) -
BatchOptimizeToursMetadata
(বার্তা) -
BatchOptimizeToursRequest
(বার্তা) -
BatchOptimizeToursRequest.AsyncModelConfig
(বার্তা) -
BatchOptimizeToursResponse
(বার্তা) -
BreakRule
(বার্তা) -
BreakRule.BreakRequest
(বার্তা) -
BreakRule.FrequencyConstraint
(বার্তা) -
DataFormat
(এনাম) -
DistanceLimit
(বার্তা) -
GcsDestination
(বার্তা) -
GcsSource
(বার্তা) -
InjectedSolutionConstraint
(বার্তা) -
InjectedSolutionConstraint.ConstraintRelaxation
(বার্তা) -
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
(বার্তা) -
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level
(enum) -
InputConfig
(বার্তা) -
Location
(বার্তা) -
OptimizeToursRequest
(বার্তা) -
OptimizeToursRequest.SearchMode
(enum) -
OptimizeToursRequest.SolvingMode
(enum) -
OptimizeToursResponse
(বার্তা) -
OptimizeToursResponse.Metrics
(বার্তা) -
OptimizeToursValidationError
(বার্তা) -
OptimizeToursValidationError.FieldReference
(বার্তা) -
OutputConfig
(বার্তা) -
RouteModifiers
(বার্তা) -
Shipment
(বার্তা) -
Shipment.Load
(বার্তা) -
Shipment.VisitRequest
(বার্তা) -
ShipmentModel
(বার্তা) -
ShipmentModel.DurationDistanceMatrix
(বার্তা) -
ShipmentModel.DurationDistanceMatrix.Row
(বার্তা) -
ShipmentModel.PrecedenceRule
(বার্তা) -
ShipmentRoute
(বার্তা) -
ShipmentRoute.Break
(বার্তা) -
ShipmentRoute.EncodedPolyline
(বার্তা) -
ShipmentRoute.Transition
(বার্তা) -
ShipmentRoute.VehicleLoad
(বার্তা) -
ShipmentRoute.Visit
(বার্তা) -
ShipmentTypeIncompatibility
(বার্তা) -
ShipmentTypeIncompatibility.IncompatibilityMode
(enum) -
ShipmentTypeRequirement
(বার্তা) -
ShipmentTypeRequirement.RequirementMode
(enum) -
SkippedShipment
(বার্তা) -
SkippedShipment.Reason
(বার্তা) -
SkippedShipment.Reason.Code
(enum) -
TimeWindow
(বার্তা) -
TransitionAttributes
(বার্তা) -
Vehicle
(বার্তা) -
Vehicle.DurationLimit
(বার্তা) -
Vehicle.LoadLimit
(বার্তা) -
Vehicle.LoadLimit.Interval
(বার্তা) -
Vehicle.TravelMode
(এনাম) -
Vehicle.UnloadingPolicy
নীতি (এনাম) -
Waypoint
(বার্তা)
রুট অপ্টিমাইজেশান
যানবাহন ট্যুর অপ্টিমাইজ করার জন্য একটি পরিষেবা।
নির্দিষ্ট ধরণের ক্ষেত্রের বৈধতা:
-
google.protobuf.Timestamp
- সময়গুলি ইউনিক্স সময়ে: 1970-01-01T00:00:00+00:00 থেকে সেকেন্ড।
- সেকেন্ড অবশ্যই [0, 253402300799], অর্থাৎ [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00]-এ হতে হবে।
- nanos আনসেট বা 0 এ সেট করা আবশ্যক।
-
google.protobuf.Duration
- সেকেন্ড অবশ্যই [0, 253402300799], অর্থাৎ [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00]-এ হতে হবে।
- nanos আনসেট বা 0 এ সেট করা আবশ্যক।
-
google.type.LatLng
- অক্ষাংশ অবশ্যই [-90.0, 90.0]-এ হতে হবে।
- দ্রাঘিমাংশ অবশ্যই [-180.0, 180.0]-এর মধ্যে হতে হবে।
- অক্ষাংশ এবং দ্রাঘিমাংশের অন্তত একটি অ-শূন্য হতে হবে।
ব্যাচঅপ্টিমাইজ ট্যুরস |
---|
একটি ব্যাচ হিসাবে এক বা একাধিক এই পদ্ধতিটি একটি লং রানিং অপারেশন (LRO)। অপ্টিমাইজেশনের জন্য ইনপুট ( ব্যবহারকারী ভোট যদি LRO যদি LRO এর
|
অপটিমাইজ ট্যুরস |
---|
একটি একটি লক্ষ্য হল
|
সমষ্টিগত মেট্রিক্স
ShipmentRoute
এর জন্য সমষ্টিগত মেট্রিক্স ( OptimizeToursResponse
জন্য সমস্ত Transition
এবং/অথবা Visit
(সমস্ত ShipmentRoute
উপর রেসপন্স) উপাদান।
ক্ষেত্র | |
---|---|
performed_shipment_count | সঞ্চালিত চালানের সংখ্যা. মনে রাখবেন যে একটি পিকআপ এবং ডেলিভারি জুটি শুধুমাত্র একবার গণনা করা হয়। |
travel_duration | একটি রুট বা একটি সমাধানের জন্য মোট ভ্রমণের সময়কাল। |
wait_duration | একটি রুট বা একটি সমাধানের জন্য মোট অপেক্ষার সময়কাল। |
delay_duration | একটি রুট বা একটি সমাধানের জন্য মোট বিলম্বের সময়কাল। |
break_duration | একটি রুট বা একটি সমাধানের জন্য মোট বিরতির সময়কাল। |
visit_duration | একটি রুট বা একটি সমাধানের জন্য মোট পরিদর্শন সময়কাল। |
total_duration | মোট সময়কাল উপরের সমস্ত সময়কালের যোগফলের সমান হওয়া উচিত। রুটের জন্য, এটি এর সাথেও মিলে যায়:
|
travel_distance_meters | একটি রুট বা একটি সমাধানের জন্য মোট ভ্রমণ দূরত্ব। |
max_loads | এই রুটের প্রতিটি পরিমাণের জন্য (resp. সমাধান) সমগ্র রুটে অর্জিত সর্বাধিক লোড (resp. solution), সমস্ত |
BatchOptimizeToursMetadata
এই ধরনের কোন ক্ষেত্র আছে.
BatchOptimizeToursRequest
কলের জন্য অপারেশন মেটাডেটা।
BatchOptimizeToursRequest
একটি অ্যাসিঙ্ক্রোনাস অপারেশন হিসাবে ব্যাচ অপ্টিমাইজ ট্যুর করার অনুরোধ। প্রতিটি ইনপুট ফাইলে একটি OptimizeToursRequest
থাকা উচিত এবং প্রতিটি আউটপুট ফাইলে একটি OptimizeToursResponse
থাকবে। অনুরোধে ফাইলগুলি পড়া/লেখা এবং পার্স করার তথ্য রয়েছে। সমস্ত ইনপুট এবং আউটপুট ফাইল একই প্রকল্পের অধীনে হওয়া উচিত।
ক্ষেত্র | |
---|---|
parent | প্রয়োজন। একটি কল করতে লক্ষ্য প্রকল্প এবং অবস্থান. বিন্যাস: * কোনো অবস্থান নির্দিষ্ট না থাকলে, একটি অঞ্চল স্বয়ংক্রিয়ভাবে বেছে নেওয়া হবে। |
model_configs[] | প্রয়োজন। প্রতিটি ক্রয় মডেলের ইনপুট/আউটপুট তথ্য, যেমন ফাইল পাথ এবং ডেটা ফরম্যাট। |
AsyncModelConfig
অসিঙ্ক্রোনাসভাবে একটি অপ্টিমাইজেশন মডেল সমাধানের জন্য তথ্য।
ক্ষেত্র | |
---|---|
display_name | ঐচ্ছিক। ব্যবহারকারীর সংজ্ঞায়িত মডেল নাম, মডেলের ট্র্যাক রাখতে ব্যবহারকারীদের দ্বারা উপনাম হিসাবে ব্যবহার করা যেতে পারে। |
input_config | প্রয়োজন। ইনপুট মডেল সম্পর্কে তথ্য। |
output_config | প্রয়োজন। পছন্দসই আউটপুট অবস্থান তথ্য. |
BatchOptimizeToursResponse
এই ধরনের কোন ক্ষেত্র আছে.
একটি BatchOptimizeToursRequest
এর প্রতিক্রিয়া। অপারেশন সম্পূর্ণ হওয়ার পর এটি লং রানিং অপারেশনে ফিরিয়ে দেওয়া হয়।
BreakRule
একটি যানবাহনের জন্য সময় বিরতি তৈরি করার নিয়ম (যেমন লাঞ্চ বিরতি)। একটি বিরতি হল একটি সংলগ্ন সময়কাল যেখানে যানবাহনটি তার বর্তমান অবস্থানে নিষ্ক্রিয় থাকে এবং কোনও পরিদর্শন করতে পারে না। একটি বিরতি ঘটতে পারে:
- দুটি ভিজিটের মধ্যে ভ্রমণের সময় (যার মধ্যে একটি ভিজিটের আগে বা ঠিক পরে সময় থাকে, তবে ভিজিটের মাঝখানে নয়), এই ক্ষেত্রে এটি ভিজিটের মধ্যে সংশ্লিষ্ট ট্রানজিট সময়কে প্রসারিত করে,
- বা যানবাহন শুরু হওয়ার আগে (একটি বিরতির মাঝখানে যানবাহন শুরু নাও হতে পারে), এই ক্ষেত্রে এটি গাড়ির শুরুর সময়কে প্রভাবিত করে না।
- বা যানবাহন শেষ হওয়ার পরে (এভাবে, গাড়ির শেষ সময় সহ)।
ক্ষেত্র | |
---|---|
break_requests[] | বিরতির ক্রম। |
frequency_constraints[] | বেশ কিছু |
ব্রেক রিকোয়েস্ট
বিরতির ক্রম (অর্থাৎ তাদের সংখ্যা এবং ক্রম) যা প্রতিটি গাড়ির জন্য প্রযোজ্য তা অবশ্যই আগে থেকেই জানা উচিত। পুনরাবৃত্ত BreakRequest
গুলি সেই ক্রমটিকে সংজ্ঞায়িত করে, যে ক্রমে সেগুলি ঘটতে হবে৷ তাদের সময় উইন্ডো ( earliest_start_time
/ latest_start_time
) ওভারল্যাপ হতে পারে, কিন্তু সেগুলি অবশ্যই অর্ডারের সাথে সামঞ্জস্যপূর্ণ হতে হবে (এটি চেক করা হয়েছে)।
ক্ষেত্র | |
---|---|
earliest_start_time | প্রয়োজন। বিরতির শুরুতে লোয়ার বাউন্ড (অন্তর্ভুক্ত)। |
latest_start_time | প্রয়োজন। বিরতির শুরুতে আপার বাউন্ড (ইনক্লুসিভ)। |
min_duration | প্রয়োজন। বিরতির ন্যূনতম সময়কাল। ইতিবাচক হতে হবে। |
ফ্রিকোয়েন্সি সীমাবদ্ধতা
একটি ন্যূনতম বিরতির ফ্রিকোয়েন্সি প্রয়োগ করে উপরে উল্লেখিত বিরতির ফ্রিকোয়েন্সি এবং সময়কালকে আরও সীমাবদ্ধ করতে পারে, যেমন "প্রতি 12 ঘন্টায় কমপক্ষে 1 ঘন্টা বিরতি থাকতে হবে"। ধরে নিলাম যে এটিকে "12 ঘন্টার যেকোনো স্লাইডিং টাইম উইন্ডোর মধ্যে, কমপক্ষে এক ঘন্টার একটি বিরতি থাকতে হবে" হিসাবে ব্যাখ্যা করা যেতে পারে, এই উদাহরণটি নিম্নলিখিত FrequencyConstraint
অনুবাদ করবে:
{
min_break_duration { seconds: 3600 } # 1 hour.
max_inter_break_duration { seconds: 39600 } # 11 hours (12 - 1 = 11).
}
সমাধানে বিরতির সময় এবং সময়কাল এই ধরনের সমস্ত সীমাবদ্ধতাকে সম্মান করবে, BreakRequest
এ ইতিমধ্যে নির্দিষ্ট করা সময় উইন্ডো এবং ন্যূনতম সময়কাল ছাড়াও।
একটি FrequencyConstraint
অনুশীলনে অ-পরপর বিরতিতে প্রযোজ্য হতে পারে। উদাহরণস্বরূপ, নিম্নলিখিত সময়সূচী "প্রতি 12 ঘন্টা" উদাহরণকে সম্মান করে:
04:00 vehicle start
.. performing travel and visits ..
09:00 1 hour break
10:00 end of the break
.. performing travel and visits ..
12:00 20-min lunch break
12:20 end of the break
.. performing travel and visits ..
21:00 1 hour break
22:00 end of the break
.. performing travel and visits ..
23:59 vehicle end
ক্ষেত্র | |
---|---|
min_break_duration | প্রয়োজন। এই সীমাবদ্ধতার জন্য ন্যূনতম বিরতির সময়কাল। নেতিবাচক। |
max_inter_break_duration | প্রয়োজন। রুটের যেকোনো সময়ের ব্যবধানের সর্বাধিক অনুমোদিত স্প্যান যা অন্তত আংশিকভাবে |
ডেটা ফরম্যাট
ইনপুট এবং আউটপুট ফাইলের জন্য ডেটা বিন্যাস।
Enums | |
---|---|
DATA_FORMAT_UNSPECIFIED | অবৈধ মান, বিন্যাস অবশ্যই অনির্দিষ্ট হওয়া উচিত নয়৷ |
JSON | জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন। |
PROTO_TEXT | প্রোটোকল বাফার টেক্সট ফরম্যাট। https://protobuf.dev/reference/protobuf/textformat-spec/ দেখুন |
দূরত্বসীমা
ভ্রমণ করা যেতে পারে এমন একটি সর্বোচ্চ দূরত্ব সংজ্ঞায়িত করে। এটা শক্ত বা নরম হতে পারে।
যদি একটি নরম সীমা সংজ্ঞায়িত করা হয়, তাহলে soft_max_meters
এবং cost_per_kilometer_above_soft_max
উভয়কেই সংজ্ঞায়িত করতে হবে এবং অঋণাত্মক হতে হবে।
ক্ষেত্র | |
---|---|
max_meters | একটি কঠিন সীমা যা দূরত্বকে সর্বাধিক max_meters হতে বাধা দেয়৷ সীমাটি অবশ্যই নেতিবাচক হতে হবে। |
soft_max_meters | একটি নরম সীমা সর্বোচ্চ দূরত্বের সীমা বলবৎ করে না, কিন্তু লঙ্ঘন করলে একটি খরচ হয় যা একই ইউনিটের সাথে মডেলে সংজ্ঞায়িত অন্যান্য খরচের সাথে যোগ করে। যদি সংজ্ঞায়িত করা হয় soft_max_meters অবশ্যই max_meters এর থেকে কম হতে হবে এবং অবশ্যই nonnegative হতে হবে। |
cost_per_kilometer_below_soft_max | প্রতি কিলোমিটার খরচ, সূত্র সহ
এই খরচ |
cost_per_kilometer_above_soft_max | দূরত্ব
খরচ nonnegative হতে হবে. |
Gcs গন্তব্য
Google ক্লাউড স্টোরেজের অবস্থান যেখানে আউটপুট ফাইল(গুলি) লেখা হবে৷
ক্ষেত্র | |
---|---|
uri | প্রয়োজন। Google ক্লাউড স্টোরেজ ইউআরআই। |
GcsSource
Google ক্লাউড স্টোরেজ অবস্থান যেখান থেকে ইনপুট ফাইল পড়া হবে।
ক্ষেত্র | |
---|---|
uri | প্রয়োজন। |
Injected Solution Constraint
কোন ভিজিটগুলিকে সীমাবদ্ধ করা উচিত এবং কীভাবে সেগুলিকে সীমাবদ্ধ করা উচিত সে সম্পর্কে তথ্য সহ অনুরোধে সমাধান ইনজেকশন করা হয়েছে৷
ক্ষেত্র | |
---|---|
routes[] | ইনজেকশন সমাধানের রুট। মূল সমাধান থেকে কিছু রুট বাদ দেওয়া যেতে পারে। রুট এবং এড়িয়ে যাওয়া শিপমেন্টগুলিকে অবশ্যই |
skipped_shipments[] | ইনজেকশনের সমাধানের চালান এড়িয়ে গেছে। মূল সমাধান থেকে কিছু বাদ দেওয়া যেতে পারে। |
constraint_relaxations[] | যানবাহনের শূন্য বা তার বেশি গ্রুপের জন্য, কখন এবং কতটা সীমাবদ্ধতা শিথিল করতে হবে তা নির্দিষ্ট করে। যদি এই ক্ষেত্রটি খালি থাকে, সমস্ত অ-খালি যানবাহন রুট সম্পূর্ণরূপে সীমাবদ্ধ। |
সীমাবদ্ধতা শিথিলকরণ
যানবাহনের একটি গ্রুপের জন্য, পরিদর্শনে কোন প্রান্তিক (গুলি) সীমাবদ্ধতা শিথিল করা হবে এবং কোন স্তরে তা নির্দিষ্ট করে৷ skipped_shipment
ক্ষেত্রে তালিকাভুক্ত শিপমেন্টগুলি এড়ানোর জন্য সীমাবদ্ধ; অর্থাৎ, তারা সঞ্চালিত করা যাবে না.
ক্ষেত্র | |
---|---|
relaxations[] | সমস্ত ভিজিট সীমাবদ্ধতা শিথিলতা যা |
vehicle_indices[] | যানবাহনের সূচকগুলি নির্দিষ্ট করে যেখানে পরিদর্শন সীমাবদ্ধতা একটি গাড়ির সূচী |
শিথিলতা
relaxations
খালি থাকলে, routes
সমস্ত দর্শনের শুরুর সময় এবং ক্রম সম্পূর্ণরূপে সীমাবদ্ধ থাকে এবং সেই রুটে কোনও নতুন ভিজিট সন্নিবেশ করা বা যোগ করা যাবে না। এছাড়াও, routes
একটি গাড়ির শুরু এবং শেষের সময় সম্পূর্ণরূপে সীমাবদ্ধ, যতক্ষণ না গাড়িটি খালি থাকে (অর্থাৎ, কোনও ভিজিট নেই এবং মডেলটিতে মিথ্যা সেট used_if_route_is_empty
হয়েছে)।
relaxations(i).level
একটি পরিদর্শন #j-এ প্রয়োগ করা সীমাবদ্ধতা শিথিলকরণ স্তর নির্দিষ্ট করে যা সন্তুষ্ট করে:
-
route.visits(j).start_time >= relaxations(i).threshold_time
AND -
j + 1 >= relaxations(i).threshold_visit_count
একইভাবে, গাড়ির স্টার্ট relaxations(i).level
শিথিল করা হয় যদি এটি সন্তুষ্ট করে:
-
vehicle_start_time >= relaxations(i).threshold_time
AND -
relaxations(i).threshold_visit_count == 0
এবং গাড়ির শেষrelaxations(i).level
শিথিল করা হয় যদি এটি সন্তুষ্ট হয়: -
vehicle_end_time >= relaxations(i).threshold_time
এবং -
route.visits_size() + 1 >= relaxations(i).threshold_visit_count
একটি শিথিলকরণ স্তর প্রয়োগ করতে যদি একটি ভিজিট threshold_visit_count
বা threshold_time
একই level
সাথে দুটি relaxations
যোগ করে: একটি শুধুমাত্র threshold_visit_count
সেট সহ এবং অন্যটি শুধুমাত্র threshold_time
সেট সহ। যদি একটি পরিদর্শন একাধিক relaxations
শর্তগুলিকে সন্তুষ্ট করে, তবে সবচেয়ে শিথিল স্তরটি প্রযোজ্য। ফলস্বরূপ, যানবাহন শুরু থেকে রুট পরিদর্শনের মধ্য দিয়ে যান শেষ পর্যন্ত, শিথিলকরণ স্তরটি আরও শিথিল হয়ে ওঠে: অর্থাৎ, রুটটি অগ্রসর হওয়ার সাথে সাথে শিথিলকরণ স্তরটি হ্রাস পাচ্ছে না।
রুট ভিজিটের সময় এবং ক্রম যা কোন relaxations
থ্রেশহোল্ড শর্ত পূরণ করে না তা সম্পূর্ণরূপে সীমাবদ্ধ এবং এই ক্রমগুলিতে কোন ভিজিট সন্নিবেশিত করা যাবে না। এছাড়াও, যদি একটি গাড়ির শুরু বা শেষ কোনো শিথিলতার শর্ত পূরণ না করে তবে সময় নির্দিষ্ট করা হয়, যদি না গাড়িটি খালি থাকে।
ক্ষেত্র | |
---|---|
level | সীমাবদ্ধতা শিথিলকরণ স্তর যা প্রযোজ্য হয় যখন |
threshold_time | যে সময় বা তার পরে শিথিলকরণ |
threshold_visit_count | পরিদর্শনের সংখ্যা বা তার পরে শিথিলকরণ যদি এটি |
স্তর
বিভিন্ন সীমাবদ্ধতা শিথিলকরণ স্তরগুলি প্রকাশ করে, যা একটি পরিদর্শনের জন্য প্রয়োগ করা হয় এবং যেগুলি থ্রেশহোল্ড শর্তগুলিকে সন্তুষ্ট করার সময় অনুসরণ করে৷
নীচের গণনা ক্রমবর্ধমান শিথিলকরণের জন্য।
Enums | |
---|---|
LEVEL_UNSPECIFIED | অন্তর্নিহিত ডিফল্ট শিথিলকরণ স্তর: কোন সীমাবদ্ধতা শিথিল করা হয় না, অর্থাৎ, সমস্ত পরিদর্শন সম্পূর্ণরূপে সীমাবদ্ধ। এই মানটি স্পষ্টভাবে |
RELAX_VISIT_TIMES_AFTER_THRESHOLD | ভিজিট শুরুর সময় এবং গাড়ির শুরু/শেষের সময় শিথিল করা হবে, কিন্তু প্রতিটি ভিজিট একই গাড়ির সাথে আবদ্ধ থাকবে এবং ভিজিট সিকোয়েন্স অবশ্যই পালন করতে হবে: তাদের মধ্যে বা তাদের আগে কোন ভিজিট ঢোকানো যাবে না। |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD | RELAX_VISIT_TIMES_AFTER_THRESHOLD এর মতোই, কিন্তু ভিজিট সিকোয়েন্সটিও শিথিল: ভিজিটগুলি শুধুমাত্র এই গাড়ির মাধ্যমে করা যেতে পারে, কিন্তু সম্ভাব্যভাবে অকার্যকর হয়ে যেতে পারে৷ |
RELAX_ALL_AFTER_THRESHOLD | RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD এর মতোই, তবে গাড়িটিও শিথিল: থ্রেশহোল্ডের সময় বা তার পরে পরিদর্শন সম্পূর্ণ বিনামূল্যে এবং সম্ভাব্যভাবে অকার্যকর হয়ে যেতে পারে। |
ইনপুট কনফিগারেশন
[BatchOptimizeTours][google.maps.routeoptimization.v1.RouteOptimizationService.BatchOptimizeTours]-এর জন্য একটি ইনপুট নির্দিষ্ট করুন।
ক্ষেত্র | |
---|---|
data_format | প্রয়োজন। ইনপুট তথ্য বিন্যাস. |
ইউনিয়ন ক্ষেত্র source । প্রয়োজন। source নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: | |
gcs_source | একটি Google ক্লাউড স্টোরেজ অবস্থান। এটি একটি একক বস্তু (ফাইল) হতে হবে। |
অবস্থান
একটি অবস্থান (একটি ভৌগলিক বিন্দু, এবং একটি ঐচ্ছিক শিরোনাম) এনক্যাপসুলেট করে।
ক্ষেত্র | |
---|---|
lat_lng | ওয়েপয়েন্টের ভৌগলিক স্থানাঙ্ক। |
heading | কম্পাস শিরোনাম ট্র্যাফিক প্রবাহের দিকের সাথে যুক্ত। পিকআপ এবং ড্রপ-অফের জন্য ব্যবহার করার জন্য রাস্তার পাশে নির্দিষ্ট করতে এই মানটি ব্যবহার করা হয়। শিরোনামের মান 0 থেকে 360 পর্যন্ত হতে পারে, যেখানে 0 সঠিক উত্তরের একটি শিরোনাম নির্দিষ্ট করে, 90 পূর্বের পূর্বের শিরোনাম উল্লেখ করে ইত্যাদি। |
অপটিমাইজ ট্যুর রিকোয়েস্ট
একটি ট্যুর অপ্টিমাইজেশান সমাধানকারীকে দেওয়ার অনুরোধ যা সমাধানের জন্য শিপমেন্ট মডেলের পাশাপাশি অপ্টিমাইজেশন প্যারামিটারগুলিকে সংজ্ঞায়িত করে৷
ক্ষেত্র | |
---|---|
parent | প্রয়োজন। একটি কল করতে লক্ষ্য প্রকল্প বা অবস্থান. বিন্যাস: * কোনো অবস্থান নির্দিষ্ট না থাকলে, একটি অঞ্চল স্বয়ংক্রিয়ভাবে বেছে নেওয়া হবে। |
timeout | এই টাইমআউট সেট করা থাকলে, টাইমআউট পিরিয়ড অতিবাহিত হওয়ার আগে বা সিঙ্ক্রোনাস অনুরোধের জন্য সার্ভারের সময়সীমা পৌঁছে যাওয়ার আগে সার্ভার একটি প্রতিক্রিয়া প্রদান করে, যেটি তাড়াতাড়ি হয়। অ্যাসিঙ্ক্রোনাস অনুরোধের জন্য, সময় শেষ হওয়ার আগে সার্ভার একটি সমাধান (যদি সম্ভব হয়) তৈরি করবে। |
model | সমাধানের জন্য চালানের মডেল। |
solving_mode | ডিফল্টরূপে, সমাধানের মোড হল |
search_mode | অনুসন্ধান মোড অনুরোধ সমাধান করতে ব্যবহৃত. |
injected_first_solution_routes[] | পূর্ববর্তী সমাধানের অনুরূপ একটি প্রথম সমাধান খুঁজে পেতে অপ্টিমাইজেশান অ্যালগরিদমকে গাইড করুন। প্রথম সমাধান নির্মিত হলে মডেলটি সীমাবদ্ধ। কোনো রুটে সঞ্চালিত নয় এমন কোনো চালান প্রথম সমাধানে পরোক্ষভাবে বাদ দেওয়া হয়, তবে সেগুলো ধারাবাহিক সমাধানে সঞ্চালিত হতে পারে। সমাধানটি অবশ্যই কিছু মৌলিক বৈধতা অনুমান পূরণ করবে:
যদি ইনজেকশন দেওয়া দ্রবণটি সম্ভব না হয়, তবে একটি বৈধতা ত্রুটি অগত্যা ফেরত দেওয়া হয় না এবং এর পরিবর্তে অসম্ভাব্যতা নির্দেশ করে একটি ত্রুটি ফেরত দেওয়া হতে পারে। |
injected_solution_constraint | অপ্টিমাইজেশান অ্যালগরিদম সীমাবদ্ধ করুন একটি চূড়ান্ত সমাধান খুঁজে পেতে যা পূর্ববর্তী সমাধানের মতো। উদাহরণস্বরূপ, এটি রুটের অংশগুলিকে হিমায়িত করতে ব্যবহার করা যেতে পারে যা ইতিমধ্যে সম্পন্ন হয়েছে বা যা সম্পূর্ণ করা হবে কিন্তু সংশোধন করা উচিত নয়। যদি ইনজেকশন দেওয়া দ্রবণটি সম্ভব না হয়, তবে একটি বৈধতা ত্রুটি অগত্যা ফেরত দেওয়া হয় না এবং এর পরিবর্তে অসম্ভাব্যতা নির্দেশ করে একটি ত্রুটি ফেরত দেওয়া হতে পারে। |
refresh_details_routes[] | যদি খালি না হয়, প্রদত্ত রুটগুলি রিফ্রেশ করা হবে, তাদের ভিজিট বা ভ্রমণের সময়গুলির অন্তর্নিহিত ক্রম পরিবর্তন না করে: শুধুমাত্র অন্যান্য বিবরণ আপডেট করা হবে। এটি মডেলের সমাধান করে না। 2020/11 অনুসারে, এটি শুধুমাত্র খালি নয় এমন রুটের পলিলাইনগুলিকে পপুলেট করে এবং প্রয়োজন যে পাস করা রুটের এই ক্ষেত্রটি অবশ্যই |
interpret_injected_solutions_using_labels | সত্য হলে:
এই ব্যাখ্যাটি সত্য হলে, নিম্নলিখিত বিভাগের লেবেলগুলি অবশ্যই তাদের বিভাগে একবারে উপস্থিত হতে হবে:
যদি ইনজেকশনের দ্রবণে একটি একটি ইনজেকশনযুক্ত দ্রবণ থেকে রুট ভিজিট বা সম্পূর্ণ রুটগুলি সরানো অন্তর্নিহিত সীমাবদ্ধতার উপর প্রভাব ফেলতে পারে, যা সমাধানে পরিবর্তন, বৈধতা ত্রুটি বা অসম্ভাব্যতা হতে পারে। দ্রষ্টব্য: কলকারীকে অবশ্যই নিশ্চিত করতে হবে যে প্রতিটি |
consider_road_traffic | |
populate_polylines | সত্য হলে, |
populate_transition_polylines | সত্য হলে, |
allow_large_deadline_despite_interruption_risk | যদি এটি সেট করা থাকে, তাহলে অনুরোধের একটি সময়সীমা থাকতে পারে ( https://grpc.io/blog/deadlines দেখুন) 60 মিনিট পর্যন্ত। অন্যথায়, সর্বোচ্চ সময়সীমা মাত্র 30 মিনিট। মনে রাখবেন যে দীর্ঘস্থায়ী অনুরোধগুলির একটি উল্লেখযোগ্যভাবে বড় (কিন্তু এখনও ছোট) বাধার ঝুঁকি রয়েছে। |
use_geodesic_distances | যদি সত্য হয়, ভ্রমণের দূরত্বগুলি Google মানচিত্রের দূরত্বের পরিবর্তে জিওডেসিক দূরত্ব ব্যবহার করে গণনা করা হবে, এবং ভ্রমণের সময়গুলি জিওডেসিক দূরত্ব ব্যবহার করে গণনা করা হবে |
label | এই অনুরোধ শনাক্ত করতে ব্যবহার করা হতে পারে এমন লেবেল, |
geodesic_meters_per_second | যখন |
max_validation_errors | প্রত্যাবর্তিত বৈধতা ত্রুটির সংখ্যা ছেঁটে ফেলে৷ এই ত্রুটিগুলি সাধারণত একটি INVALID_ARGUMENT ত্রুটির পেলোডের সাথে একটি BadRequest ত্রুটি বিশদ বিবরণ ( https://cloud.google.com/apis/design/errors#error_details ) হিসাবে সংযুক্ত থাকে, যদি না solving_mode=VALIDATE_ONLY: |
অনুসন্ধান মোড
মোড অনুসন্ধানের আচরণকে সংজ্ঞায়িত করে, ট্রেডিং অফ লেটেন্সি বনাম সমাধানের গুণমান। সমস্ত মোডে, বিশ্বব্যাপী অনুরোধের সময়সীমা কার্যকর করা হয়।
Enums | |
---|---|
SEARCH_MODE_UNSPECIFIED | অনির্দিষ্ট অনুসন্ধান মোড, RETURN_FAST এর সমতুল্য। |
RETURN_FAST | প্রথম ভাল সমাধান খুঁজে পাওয়ার পরে অনুসন্ধান বন্ধ করুন। |
CONSUME_ALL_AVAILABLE_TIME | আরও ভাল সমাধান অনুসন্ধান করার জন্য সমস্ত উপলব্ধ সময় ব্যয় করুন। |
সমাধান মোড
সমাধানকারীর অনুরোধটি কীভাবে পরিচালনা করা উচিত তা সংজ্ঞায়িত করে। সমস্ত মোডে VALIDATE_ONLY
, যদি অনুরোধটি অবৈধ হয়, আপনি একটি INVALID_REQUEST
ত্রুটি পাবেন৷ ফিরে আসা ত্রুটির সংখ্যা ক্যাপ করতে max_validation_errors
দেখুন।
Enums | |
---|---|
DEFAULT_SOLVE | মডেলটি সমাধান করুন। [OptimizeToursResponse.validation_errors][google.cloud.optimization.v1.OptimizeToursResponse.validation_errors]-এ সতর্কতা জারি করা হতে পারে। |
VALIDATE_ONLY | শুধুমাত্র মডেলটিকে সমাধান না করেই যাচাই করে: যতটা সম্ভব OptimizeToursResponse.validation_errors পূরণ করে। |
DETECT_SOME_INFEASIBLE_SHIPMENTS | শুধুমাত্র গুরুত্বপূর্ণ : সমস্ত অসম্ভাব্য চালান এখানে ফেরত দেওয়া হয় না, তবে শুধুমাত্র যেগুলি প্রিপ্রসেসিংয়ের সময় অসম্ভাব্য হিসাবে সনাক্ত করা হয়। |
OptimizeToursResponse
একটি ট্যুর অপ্টিমাইজেশান সমস্যার সমাধান করার পরে প্রতিক্রিয়া যা প্রতিটি গাড়ির দ্বারা অনুসরণ করা রুটগুলি, শিপমেন্টগুলি যা এড়িয়ে গেছে এবং সমাধানের সামগ্রিক খরচ।
ক্ষেত্র | |
---|---|
routes[] | প্রতিটি গাড়ির জন্য গণনা করা রুট; i-th রুট মডেলের i-th যানের সাথে মিলে যায়। |
request_label | |
skipped_shipments[] | সমস্ত চালানের তালিকা এড়িয়ে গেছে। |
validation_errors[] | সমস্ত বৈধতা ত্রুটির তালিকা যা আমরা স্বাধীনভাবে সনাক্ত করতে সক্ষম হয়েছি। |
metrics | এই সমাধানের জন্য সময়কাল, দূরত্ব এবং ব্যবহারের মেট্রিক্স। |
মেট্রিক্স
সামগ্রিক মেট্রিক্স, সমস্ত রুটে একত্রিত।
ক্ষেত্র | |
---|---|
aggregated_route_metrics | রুট উপর একত্রিত. প্রতিটি মেট্রিক হল একই নামের সমস্ত |
skipped_mandatory_shipment_count | এড়িয়ে যাওয়া বাধ্যতামূলক চালানের সংখ্যা। |
used_vehicle_count | ব্যবহৃত যানবাহনের সংখ্যা। দ্রষ্টব্য: যদি একটি যানবাহনের রুট খালি থাকে এবং |
earliest_vehicle_start_time | একটি ব্যবহৃত গাড়ির জন্য প্রথম দিকের শুরুর সময়, |
latest_vehicle_end_time | একটি ব্যবহৃত গাড়ির সর্বশেষ শেষ সময়, |
costs | সমাধানের খরচ, খরচ-সম্পর্কিত অনুরোধ ক্ষেত্র দ্বারা বিভক্ত। কীগুলি হল প্রোটো পাথ, ইনপুট OptimizeToursRequest-এর সাপেক্ষে, যেমন "model.shipments.pickups.cost", এবং মানগুলি হল সংশ্লিষ্ট খরচ ক্ষেত্রের দ্বারা উত্পন্ন মোট খরচ, সমগ্র সমাধানের উপর একত্রিত৷ অন্য কথায়, খরচ ["model.shipments.pickups.cost"] হল সমাধানের সমস্ত পিকআপ খরচের সমষ্টি। মডেলে সংজ্ঞায়িত সমস্ত খরচ এখানে বিস্তারিতভাবে রিপোর্ট করা হয়েছে ট্রানজিশন অ্যাট্রিবিউটের সাথে সম্পর্কিত খরচগুলি বাদ দিয়ে যেগুলি শুধুমাত্র 2022/01 হিসাবে সমষ্টিগতভাবে রিপোর্ট করা হয়েছে। |
total_cost | সমাধানের মোট খরচ। খরচ ম্যাপে সমস্ত মানের সমষ্টি। |
OptimizeToursValidationError
একটি OptimizeToursRequest
যাচাই করার সময় একটি ত্রুটি বা সতর্কতা দেখা দেয়।
ক্ষেত্র | |
---|---|
code | একটি বৈধতা ত্রুটি জোড়া ( এই বিভাগটি অনুসরণ করা ক্ষেত্রগুলি ত্রুটি সম্পর্কে আরও প্রসঙ্গ সরবরাহ করে। একাধিক ত্রুটি : যখন একাধিক ত্রুটি থাকে, তখন যাচাইকরণ প্রক্রিয়া তাদের মধ্যে কয়েকটি আউটপুট করার চেষ্টা করে। অনেকটা কম্পাইলারের মতো, এটি একটি অপূর্ণ প্রক্রিয়া। কিছু বৈধতা ত্রুটি "মারাত্মক" হবে, যার অর্থ তারা পুরো বৈধতা প্রক্রিয়া বন্ধ করে দেয়। অন্যদের মধ্যে স্থিতিশীলতা : |
display_name | ত্রুটি প্রদর্শন নাম. |
fields[] | একটি ত্রুটি প্রসঙ্গে 0, 1 (বেশিরভাগ সময়) বা আরও ক্ষেত্র জড়িত হতে পারে। উদাহরণস্বরূপ, যানবাহন # 4 এবং চালান # 2 এর প্রথম পিকআপকে উল্লেখ করা নিম্নরূপ করা যেতে পারে:
উল্লেখ্য, যাইহোক, প্রদত্ত ত্রুটি কোডের জন্য |
error_message | মানব-পাঠযোগ্য স্ট্রিং ত্রুটি বর্ণনা করে। স্থিতিশীলতা : স্থিতিশীল নয়: একটি প্রদত্ত |
offending_values | ক্ষেত্র(গুলি) এর মান(গুলি) থাকতে পারে৷ এটি সবসময় পাওয়া যায় না। আপনার এটির উপর একেবারেই নির্ভর করা উচিত নয় এবং এটি শুধুমাত্র ম্যানুয়াল মডেল ডিবাগিংয়ের জন্য ব্যবহার করা উচিত। |
ফিল্ড রেফারেন্স
বৈধতা ত্রুটির জন্য একটি প্রসঙ্গ নির্দিষ্ট করে। একটি FieldReference
সর্বদা এই ফাইলের একটি প্রদত্ত ক্ষেত্রকে নির্দেশ করে এবং একই শ্রেণিবদ্ধ কাঠামো অনুসরণ করে। উদাহরণস্বরূপ, আমরা ব্যবহার করে যানবাহন #5 এর start_time_windows
এর উপাদান #2 নির্দিষ্ট করতে পারি:
name: "vehicles" index: 5 sub_field { name: "end_time_windows" index: 2 }
তবে আমরা বার্তার ভিড় এড়াতে OptimizeToursRequest
বা ShipmentModel
মতো শীর্ষ-স্তরের সত্তা বাদ দিই।
ক্ষেত্র | |
---|---|
name | ক্ষেত্রের নাম, যেমন, "যান"। |
sub_field | প্রয়োজনে বারবার নেস্টেড সাব-ফিল্ড। |
ইউনিয়ন ক্ষেত্র | |
index | বারবার হলে ক্ষেত্রের সূচক। |
key | ক্ষেত্রটি একটি মানচিত্র হলে কী। |
আউটপুট কনফিগারেশন
[BatchOptimizeTours][google.maps.routeoptimization.v1.RouteOptimizationService.BatchOptimizeTours] ফলাফলের জন্য একটি গন্তব্য নির্দিষ্ট করুন।
ক্ষেত্র | |
---|---|
data_format | প্রয়োজন। আউটপুট ডেটা বিন্যাস। |
ইউনিয়ন ক্ষেত্রের destination । প্রয়োজন। destination নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: | |
gcs_destination | আউটপুট লিখতে Google ক্লাউড স্টোরেজ অবস্থান। |
রুট মডিফায়ার
যানবাহনের রুট গণনা করার সময় সন্তুষ্ট করার জন্য ঐচ্ছিক অবস্থার একটি সেট এনক্যাপসুলেট করে। এটি Google Maps Platform Routes Preferred API-এর RouteModifiers
এর মতোই; দেখুন: https://developers.google.com/maps/documentation/routes/reference/rest/v2/RouteModifiers ।
ক্ষেত্র | |
---|---|
avoid_tolls | যেখানে যুক্তিসঙ্গত টোল রাস্তাগুলি এড়ানো উচিত তা নির্দিষ্ট করে৷ টোল রোড নেই এমন রুটে অগ্রাধিকার দেওয়া হবে। শুধুমাত্র মোটর চালিত ভ্রমণ মোডের জন্য প্রযোজ্য। |
avoid_highways | যেখানে যুক্তিসঙ্গত হাইওয়ে এড়াতে হবে তা নির্দিষ্ট করে। মহাসড়ক নেই এমন রুটে অগ্রাধিকার দেওয়া হবে। শুধুমাত্র মোটর চালিত ভ্রমণ মোডের জন্য প্রযোজ্য। |
avoid_ferries | যেখানে যুক্তিসঙ্গত ফেরিগুলি এড়াতে হবে তা নির্দিষ্ট করে৷ ফেরিতে যাতায়াত নেই এমন রুটে অগ্রাধিকার দেওয়া হবে। শুধুমাত্র মোটর চালিত ভ্রমণ মোডের জন্য প্রযোজ্য। |
avoid_indoor | ঐচ্ছিক। যুক্তিসঙ্গত হলে বাড়ির ভিতরে নেভিগেট করা এড়াতে হবে কিনা তা নির্দিষ্ট করে৷ ইনডোর নেভিগেশন নেই এমন রুটগুলিতে অগ্রাধিকার দেওয়া হবে। শুধুমাত্র |
চালান
একটি একক আইটেমের চালান, এটির একটি পিকআপ থেকে তার একটি ডেলিভারি পর্যন্ত। চালানটি সম্পাদিত হিসাবে বিবেচিত হওয়ার জন্য, একটি অনন্য যানবাহনকে অবশ্যই তার পিকআপ অবস্থানগুলির একটিতে যেতে হবে (এবং সেই অনুযায়ী তার অতিরিক্ত ক্ষমতা হ্রাস করতে হবে), তারপরে তার ডেলিভারি অবস্থানগুলির একটিতে যান (এবং সেই অনুযায়ী তার অতিরিক্ত ক্ষমতা পুনরায় বাড়াতে হবে)।
ক্ষেত্র | |
---|---|
display_name | চালানের ব্যবহারকারী-নির্ধারিত প্রদর্শন নাম। এটি 63 অক্ষর পর্যন্ত দীর্ঘ হতে পারে এবং UTF-8 অক্ষর ব্যবহার করতে পারে। |
pickups[] | চালানের সাথে যুক্ত পিকআপ বিকল্পের সেট। যদি নির্দিষ্ট করা না থাকে, তাহলে গাড়িটিকে শুধুমাত্র ডেলিভারির সাথে সম্পর্কিত একটি অবস্থান পরিদর্শন করতে হবে। |
deliveries[] | চালানের সাথে যুক্ত ডেলিভারি বিকল্পের সেট। নির্দিষ্ট না থাকলে, গাড়িটিকে শুধুমাত্র পিকআপগুলির সাথে সম্পর্কিত একটি অবস্থান পরিদর্শন করতে হবে৷ |
load_demands | চালানের লোড চাহিদা (উদাহরণস্বরূপ ওজন, আয়তন, প্যালেটের সংখ্যা ইত্যাদি)। মানচিত্রের কীগুলি অনুরূপ লোডের ধরন বর্ণনাকারী শনাক্তকারী হওয়া উচিত, আদর্শভাবে ইউনিটগুলিও সহ। উদাহরণস্বরূপ: "ওজন_কেজি", "ভলিউম_গ্যালন", "প্যালেট_কাউন্ট", ইত্যাদি। যদি একটি প্রদত্ত কী মানচিত্রে উপস্থিত না হয়, তাহলে সংশ্লিষ্ট লোডটিকে শূন্য হিসাবে বিবেচনা করা হয়। |
allowed_vehicle_indices[] | এই চালান সঞ্চালন করতে পারে যে যানবাহন সেট. খালি থাকলে, সমস্ত যানবাহন এটি সম্পাদন করতে পারে। |
costs_per_vehicle[] | প্রতিটি যানবাহন দ্বারা এই চালানটি বিতরণ করার সময় যে খরচ হয় তা নির্দিষ্ট করে৷ যদি নির্দিষ্ট করা থাকে, তবে এটি অবশ্যই থাকতে হবে:
এই খরচ অবশ্যই |
costs_per_vehicle_indices[] | যানবাহনের সূচকগুলি যেগুলির |
pickup_to_delivery_absolute_detour_limit | পিকআপ থেকে ডেলিভারি পর্যন্ত স্বল্পতম পথের তুলনায় সর্বাধিক পরম ডিটার সময় নির্দিষ্ট করে। যদি নির্দিষ্ট করা হয় তবে এটি অবশ্যই অবিচ্ছিন্ন হতে হবে এবং চালানের অবশ্যই কমপক্ষে একটি পিকআপ এবং একটি বিতরণ থাকতে হবে। উদাহরণস্বরূপ, নির্বাচিত পিকআপ বিকল্প থেকে সরাসরি নির্বাচিত বিতরণ বিকল্পের দিকে যাওয়ার জন্য সবচেয়ে কম সময় নেওয়া উচিত। তারপরে
যদি উভয়ই আপেক্ষিক এবং পরম সীমা একই চালানিতে নির্দিষ্ট করা হয় তবে প্রতিটি সম্ভাব্য পিকআপ/বিতরণ জুটির জন্য আরও সীমাবদ্ধ সীমা ব্যবহার করা হয়। 2017/10 হিসাবে, যখন ভ্রমণের সময়সীমা যানবাহনের উপর নির্ভর করে না তখন ডিটারগুলি কেবল তখনই সমর্থিত হয়। |
pickup_to_delivery_time_limit | চালানের সরবরাহ শুরু করার জন্য পিকআপ শুরু থেকে সর্বাধিক সময়কাল নির্দিষ্ট করে। যদি নির্দিষ্ট করা হয় তবে এটি অবশ্যই অবিচ্ছিন্ন হতে হবে এবং চালানের অবশ্যই কমপক্ষে একটি পিকআপ এবং একটি বিতরণ থাকতে হবে। এটি নির্ভর করে না যে কোন বিকল্পগুলি পিকআপ এবং বিতরণের জন্য বা যানবাহনের গতির উপর নির্বাচন করা হয় তার উপর নির্ভর করে না। এটি সর্বাধিক প্রদত্ত সীমাবদ্ধতার পাশাপাশি নির্দিষ্ট করা যেতে পারে: সমাধানটি উভয় স্পেসিফিকেশনকে সম্মান করবে। |
shipment_type | এই চালানের জন্য একটি "টাইপ" নির্দিষ্ট করে অ-খালি স্ট্রিং। এই বৈশিষ্ট্যটি |
label | এই চালানের জন্য একটি লেবেল নির্দিষ্ট করে। এই লেবেলটি সংশ্লিষ্ট |
ignore | যদি সত্য হয় তবে এই চালানটি এড়িয়ে যান, তবে মডেলটিতে কোনও |
penalty_cost | যদি চালানটি সম্পূর্ণ না করা হয় তবে এই জরিমানাটি রুটের সামগ্রিক ব্যয়ে যুক্ত করা হয়। যদি এর কোনও পিকআপ এবং বিতরণ বিকল্প পরিদর্শন করা হয় তবে একটি চালান সম্পূর্ণ হিসাবে বিবেচিত হয়। মডেলটিতে অন্যান্য সমস্ত ব্যয় সম্পর্কিত ক্ষেত্রগুলির জন্য ব্যবহৃত একই ইউনিটে ব্যয়টি প্রকাশ করা যেতে পারে এবং অবশ্যই ইতিবাচক হতে হবে। গুরুত্বপূর্ণ : যদি এই জরিমানা নির্দিষ্ট না করা হয় তবে এটি অসীম হিসাবে বিবেচিত হয়, অর্থাত্ চালানটি অবশ্যই সম্পন্ন করতে হবে। |
pickup_to_delivery_relative_detour_limit | পিকআপ থেকে ডেলিভারি পর্যন্ত স্বল্পতম পথের তুলনায় সর্বাধিক আপেক্ষিক ডিটার সময় নির্দিষ্ট করে। যদি নির্দিষ্ট করা হয় তবে এটি অবশ্যই অবিচ্ছিন্ন হতে হবে এবং চালানের অবশ্যই কমপক্ষে একটি পিকআপ এবং একটি বিতরণ থাকতে হবে। উদাহরণস্বরূপ, নির্বাচিত পিকআপ বিকল্প থেকে সরাসরি নির্বাচিত বিতরণ বিকল্পের দিকে যাওয়ার জন্য সবচেয়ে কম সময় নেওয়া উচিত। তারপরে
যদি উভয়ই আপেক্ষিক এবং পরম সীমা একই চালানিতে নির্দিষ্ট করা হয় তবে প্রতিটি সম্ভাব্য পিকআপ/বিতরণ জুটির জন্য আরও সীমাবদ্ধ সীমা ব্যবহার করা হয়। 2017/10 হিসাবে, যখন ভ্রমণের সময়সীমা যানবাহনের উপর নির্ভর করে না তখন ডিটারগুলি কেবল তখনই সমর্থিত হয়। |
লোড
ভিজিট করার সময়, একটি পিকআপ হলে গাড়ির লোডে একটি পূর্বনির্ধারিত পরিমাণ যুক্ত করা যেতে পারে, বা এটি সরবরাহ করা হলে বিয়োগ করা যেতে পারে। এই বার্তাটি এ জাতীয় পরিমাণ সংজ্ঞায়িত করে। load_demands
দেখুন।
ক্ষেত্র | |
---|---|
amount | সংশ্লিষ্ট ভিজিট সম্পাদনকারী যানবাহনের লোড যার দ্বারা পৃথক হবে। যেহেতু এটি একটি পূর্ণসংখ্যা, তাই ব্যবহারকারীদের নির্ভুলতা হ্রাস এড়াতে উপযুক্ত ইউনিট বেছে নেওয়ার পরামর্শ দেওয়া হয়। অবশ্যই ≥ 0 হতে হবে। |
ভিজিটরেকুয়েস্ট দেখুন
কোনও যানবাহন দ্বারা করা যেতে পারে এমন একটি দেখার জন্য অনুরোধ করুন: এটিতে একটি ভূ-অবস্থান রয়েছে (বা দুটি, নীচে দেখুন), সময় উইন্ডোজ দ্বারা প্রতিনিধিত্ব করা এবং বন্ধ করার সময়গুলি এবং একটি পরিষেবা সময়কাল সময় (যানবাহনটি আসার পরে এটি একবারে ব্যয় করা হয় পণ্য পিকআপ বা ড্রপ বন্ধ করতে)।
ক্ষেত্র | |
---|---|
arrival_location | এই |
arrival_waypoint | এই |
departure_location | ভূ-অবস্থান যেখানে এই |
departure_waypoint | এই |
tags[] | ভিজিট অনুরোধের সাথে সংযুক্ত ট্যাগগুলি নির্দিষ্ট করে। খালি বা সদৃশ স্ট্রিং অনুমোদিত নয়। |
time_windows[] | টাইম উইন্ডোজ যা একটি দর্শন সময় আগমনের সময়কে সীমাবদ্ধ করে। নোট করুন যে কোনও যানবাহন আগমনের সময় উইন্ডোর বাইরে চলে যেতে পারে, অর্থাত্ আগমনের সময় + সময়কাল কোনও সময় উইন্ডোর ভিতরে থাকার দরকার নেই। টাইম উইন্ডোজ অবশ্যই বিরক্ত হতে হবে, অর্থাত্ কোনও সময় উইন্ডো অবশ্যই অন্যের সাথে ওভারল্যাপ করতে হবে বা অন্য সংলগ্ন হতে হবে এবং সেগুলি অবশ্যই ক্রমবর্ধমান ক্রমে থাকতে হবে। |
duration | ভিজিটের সময়কাল, অর্থাত্ আগমন এবং প্রস্থানের মধ্যে যানবাহন দ্বারা ব্যয় করা সময় (সম্ভাব্য অপেক্ষার সময়টিতে যুক্ত হতে হবে; |
cost | কোনও যানবাহনের রুটে এই ভিজিট অনুরোধটি পরিষেবা দিতে ব্যয়। এটি প্রতিটি বিকল্প পিকআপ বা চালানের সরবরাহের জন্য বিভিন্ন ব্যয় দিতে ব্যবহার করা যেতে পারে। এই ব্যয়টি অবশ্যই |
load_demands | এই ভিজিট অনুরোধের দাবি লোড। এটি |
visit_types[] | ভিজিটের ধরণগুলি নির্দিষ্ট করে। এটি কোনও যানবাহন এই দর্শনটি সম্পূর্ণ করার জন্য প্রয়োজনীয় অতিরিক্ত সময় বরাদ্দ করতে ব্যবহৃত হতে পারে (দেখুন একটি প্রকার কেবল একবার উপস্থিত হতে পারে। |
label | এই |
শিপমেন্টমোডেল
একটি চালানের মডেলটিতে শিপমেন্টের একটি সেট রয়েছে যা সামগ্রিক ব্যয়কে হ্রাস করার সময় যানবাহনের একটি সেট দ্বারা সম্পাদন করতে হবে, যা এর যোগফল:
- যানবাহনগুলি রাউটিংয়ের ব্যয় (মোট সময় প্রতি ব্যয়ের যোগফল, ভ্রমণের সময় প্রতি ব্যয় এবং সমস্ত যানবাহনের উপর নির্ধারিত ব্যয়)।
- অপ্রয়োজনীয় চালানের জরিমানা।
- চালানের বৈশ্বিক সময়কালের ব্যয়
ক্ষেত্র | |
---|---|
shipments[] | শিপমেন্টের সেট যা অবশ্যই মডেলটিতে সম্পাদন করা উচিত। |
vehicles[] | যানবাহনের সেট যা ভিজিট সম্পাদন করতে ব্যবহার করা যেতে পারে। |
global_start_time | মডেলটির গ্লোবাল স্টার্ট এবং শেষ সময়: এই পরিসরের বাইরে কোনও সময় বৈধ হিসাবে বিবেচিত হতে পারে না। মডেলের সময়কাল অবশ্যই এক বছরেরও কম হতে হবে, অর্থাত্ |
global_end_time | যদি আনসেট হয়, 00:00:00 ইউটিসি, 1 জানুয়ারী, 1971 (অর্থাত্ সেকেন্ডস: 31536000, ন্যানোস: 0) ডিফল্ট হিসাবে ব্যবহৃত হয়। |
global_duration_cost_per_hour | সামগ্রিক পরিকল্পনার "বৈশ্বিক সময়কাল" হ'ল প্রাথমিকতম কার্যকর শুরুর সময় এবং সমস্ত যানবাহনের সর্বশেষ কার্যকর শেষ সময়ের মধ্যে পার্থক্য। উদাহরণস্বরূপ, প্রথম দিকের কাজ সমাপ্তির জন্য চেষ্টা এবং অনুকূল করার জন্য ব্যবহারকারীরা সেই পরিমাণকে প্রতি ঘন্টা ব্যয় নির্ধারণ করতে পারেন। এই ব্যয়টি অবশ্যই |
duration_distance_matrices[] | মডেলটিতে ব্যবহৃত সময়কাল এবং দূরত্ব ম্যাট্রিকগুলি নির্দিষ্ট করে। যদি এই ক্ষেত্রটি খালি থাকে তবে গুগল ম্যাপস বা জিওডেসিক দূরত্বগুলি পরিবর্তে ব্যবহার করা হবে, ব্যবহারের উদাহরণ:
|
duration_distance_matrix_src_tags[] | সময়কাল এবং দূরত্বের ম্যাট্রিকগুলির উত্সগুলি সংজ্ঞায়িত ট্যাগগুলি; ট্যাগগুলি |
duration_distance_matrix_dst_tags[] | সময়কাল এবং দূরত্বের ম্যাট্রিকগুলির গন্তব্যগুলি সংজ্ঞায়িত ট্যাগগুলি; ট্যাগগুলি |
transition_attributes[] | মডেলটিতে রূপান্তর বৈশিষ্ট্য যুক্ত করা হয়েছে। |
shipment_type_incompatibilities[] | বেমানান শিপমেন্ট_ টাইপগুলির সেটগুলি ( |
shipment_type_requirements[] | |
precedence_rules[] | অগ্রাধিকার বিধিগুলির সেট যা অবশ্যই মডেলটিতে প্রয়োগ করা উচিত। |
max_active_vehicles | সক্রিয় যানবাহনের সর্বাধিক সংখ্যাকে সীমাবদ্ধ করে। কোনও যানবাহন সক্রিয় থাকে যদি এর রুটটি কমপক্ষে একটি চালান সম্পাদন করে। এটি যানবাহনের চেয়ে কম ড্রাইভার রয়েছে এবং যানবাহনের বহরটি ভিন্নধর্মী এমন ক্ষেত্রে রুটের সংখ্যা সীমাবদ্ধ করতে ব্যবহার করা যেতে পারে। অপ্টিমাইজেশন তারপরে ব্যবহারের জন্য যানবাহনের সেরা উপসেটটি নির্বাচন করবে। কঠোরভাবে ইতিবাচক হতে হবে। |
সময়কাল ডিস্ট্যান্টসেম্যাট্রিক্স
ভিজিট এবং যানবাহন শুরু করার অবস্থানগুলি এবং যানবাহন শেষের অবস্থানগুলি থেকে একটি সময়কাল এবং দূরত্বের ম্যাট্রিক্স নির্দিষ্ট করে।
ক্ষেত্র | |
---|---|
rows[] | সময়কাল এবং দূরত্বের ম্যাট্রিক্সের সারিগুলি নির্দিষ্ট করে। এটি অবশ্যই |
vehicle_start_tag | এই সময়কাল এবং দূরত্বের ম্যাট্রিক্স প্রয়োগ করে কোন যানবাহনগুলি সংজ্ঞায়িত করে ট্যাগ। যদি খালি হয় তবে এটি সমস্ত যানবাহনের ক্ষেত্রে প্রযোজ্য এবং কেবল একটি একক ম্যাট্রিক্স থাকতে পারে। প্রতিটি যানবাহন শুরু করতে হবে ঠিক একটি ম্যাট্রিক্সের সাথে মেলে, অর্থাত্ তাদের সমস্ত ম্যাট্রিক্সের অবশ্যই একটি আলাদা |
সারি
সময়কাল এবং দূরত্বের ম্যাট্রিক্সের একটি সারি নির্দিষ্ট করে।
ক্ষেত্র | |
---|---|
durations[] | একটি প্রদত্ত সারির জন্য সময়কাল মান। এটি অবশ্যই |
meters[] | একটি প্রদত্ত সারির জন্য দূরত্বের মান। যদি কোনও ব্যয় বা সীমাবদ্ধতা মডেলটির দূরত্বগুলি উল্লেখ করে তবে এটি খালি রেখে দেওয়া যেতে পারে; অন্যথায় এটির |
পূর্ববর্তী
দুটি ইভেন্টের মধ্যে একটি অগ্রাধিকার নিয়ম (প্রতিটি ইভেন্ট হ'ল পিকআপ বা একটি চালানের বিতরণ): "দ্বিতীয়" ইভেন্টটি "প্রথম" শুরু হওয়ার পরে কমপক্ষে offset_duration
শুরু করতে হবে।
বেশ কয়েকটি অগ্রাধিকার একই (বা সম্পর্কিত) ইভেন্টগুলিকে উল্লেখ করতে পারে, যেমন, "বি এর পিকআপ একটি সরবরাহের পরে ঘটে" এবং "সি এর পিকআপ বি পিকআপের পরে ঘটে"।
তদ্ব্যতীত, উভয় চালান সম্পাদন করা হয় এবং অন্যথায় উপেক্ষা করা হয় কেবল তখনই প্রযোজ্য প্রযোজ্য।
ক্ষেত্র | |
---|---|
first_is_delivery | "প্রথম" ইভেন্টটি যদি বিতরণ হয় তা নির্দেশ করে। |
second_is_delivery | "দ্বিতীয়" ইভেন্টটি যদি ডেলিভারি হয় তা নির্দেশ করে। |
offset_duration | "প্রথম" এবং "দ্বিতীয়" ইভেন্টের মধ্যে অফসেট। এটা নেতিবাচক হতে পারে. |
first_index | "প্রথম" ইভেন্টের চালান সূচক। এই ক্ষেত্র নির্দিষ্ট করা আবশ্যক. |
second_index | "দ্বিতীয়" ইভেন্টের চালান সূচক। এই ক্ষেত্র নির্দিষ্ট করা আবশ্যক. |
শিপমেন্ট রুট
একটি যানবাহনের রুট সময় অক্ষ বরাবর পচনশীল হতে পারে, এভাবে (আমরা অনুমান করি সেখানে n ভিজিট আছে):
| | | | | T[2], | | |
| Transition | Visit #0 | | | V[2], | | |
| #0 | aka | T[1] | V[1] | ... | V[n-1] | T[n] |
| aka T[0] | V[0] | | | V[n-2],| | |
| | | | | T[n-1] | | |
^ ^ ^ ^ ^ ^ ^ ^
vehicle V[0].start V[0].end V[1]. V[1]. V[n]. V[n]. vehicle
start (arrival) (departure) start end start end end
মনে রাখবেন যে আমরা এর মধ্যে পার্থক্য করি:
- "সময়নিষ্ঠ ঘটনা", যেমন যানবাহনের শুরু এবং শেষ এবং প্রতিটি দর্শনের শুরু এবং শেষ (ওরফে আগমন এবং প্রস্থান)। এগুলি একটি নির্দিষ্ট সেকেন্ডে ঘটে।
- "সময়ের ব্যবধান", যেমন ভিজিট নিজেই, এবং ভিজিটের মধ্যে পরিবর্তন। যদিও সময়ের ব্যবধানের মাঝে মাঝে শূন্য সময়কাল থাকতে পারে, অর্থাৎ একই সেকেন্ডে শুরু এবং শেষ হতে পারে, তাদের প্রায়শই একটি ইতিবাচক সময়কাল থাকে।
অপরিবর্তনীয়:
- n ভিজিট থাকলে, n+1 ট্রানজিশন আছে।
- একটি ভিজিট সর্বদা তার আগে একটি ট্রানজিশন (একই সূচক) এবং এটির পরে একটি ট্রানজিশন (সূচী + 1) দ্বারা ঘিরে থাকে।
- গাড়ির স্টার্ট সর্বদা পরিবর্তন #0 দ্বারা অনুসরণ করা হয়।
- যানবাহনের শেষ সর্বদা স্থানান্তর #n এর আগে থাকে।
জুম ইন, একটি Transition
এবং Visit
সময় যা ঘটে তা এখানে:
---+-------------------------------------+-----------------------------+-->
| TRANSITION[i] | VISIT[i] |
| | |
| * TRAVEL: the vehicle moves from | PERFORM the visit: |
| VISIT[i-1].departure_location to | |
| VISIT[i].arrival_location, which | * Spend some time: |
| takes a given travel duration | the "visit duration". |
| and distance | |
| | * Load or unload |
| * BREAKS: the driver may have | some quantities from the |
| breaks (e.g. lunch break). | vehicle: the "demand". |
| | |
| * WAIT: the driver/vehicle does | |
| nothing. This can happen for | |
| many reasons, for example when | |
| the vehicle reaches the next | |
| event's destination before the | |
| start of its time window | |
| | |
| * DELAY: *right before* the next | |
| arrival. E.g. the vehicle and/or | |
| driver spends time unloading. | |
| | |
---+-------------------------------------+-----------------------------+-->
^ ^ ^
V[i-1].end V[i].start V[i].end
পরিশেষে, এখানে ট্রানজিশনের সময় ট্রাভেল, ব্রেক, বিলম্ব এবং অপেক্ষার ব্যবস্থা করা যেতে পারে।
- তারা ওভারল্যাপ না.
- বিলম্বটি অনন্য এবং পরের দর্শনের (বা গাড়ির সমাপ্তি) ঠিক আগে একটি সংলগ্ন সময় হতে হবে । সুতরাং, এটির শুরু এবং শেষ সময় জানার জন্য বিলম্বের সময়কাল জানা যথেষ্ট।
- BREAKS হল সংলগ্ন, অ-ওভারল্যাপিং সময়কাল। প্রতিক্রিয়া প্রতিটি বিরতির শুরুর সময় এবং সময়কাল নির্দিষ্ট করে।
- ট্রাভেল এবং ওয়েট হল "প্রিম্পটেবল": এই ট্রানজিশনের সময় এগুলি বেশ কয়েকবার ব্যাহত হতে পারে৷ ক্লায়েন্টরা ধরে নিতে পারেন যে ভ্রমণ "যত তাড়াতাড়ি সম্ভব" হয় এবং "অপেক্ষা" বাকি সময় পূরণ করে।
একটি (জটিল) উদাহরণ:
TRANSITION[i]
--++-----+-----------------------------------------------------------++-->
|| | | | | | | ||
|| T | B | T | | B | | D ||
|| r | r | r | W | r | W | e ||
|| a | e | a | a | e | a | l ||
|| v | a | v | i | a | i | a ||
|| e | k | e | t | k | t | y ||
|| l | | l | | | | ||
|| | | | | | | ||
--++-----------------------------------------------------------------++-->
ক্ষেত্র | |
---|---|
vehicle_index | যানবাহন রুট সম্পাদন করছে, |
vehicle_label | এই রুটটি সম্পাদনকারী গাড়ির লেবেল, |
vehicle_start_time | গাড়িটি তার রুট শুরু করার সময়। |
vehicle_end_time | গাড়িটি তার রুট শেষ করার সময়। |
visits[] | একটি রুট প্রতিনিধিত্ব করে ভিজিট ক্রম আদেশ. ভিজিট[i] হল রুটের i-তম ভিজিট। এই ক্ষেত্রটি খালি থাকলে, গাড়িটিকে অব্যবহৃত হিসাবে বিবেচনা করা হয়। |
transitions[] | রুটের জন্য ট্রানজিশনের অর্ডার করা তালিকা। |
has_traffic_infeasibilities | যখন
ট্র্যাফিকের কারণে ট্র্যাভেল টাইম |
route_polyline | রুটের এনকোড করা পলিলাইন উপস্থাপনা। |
breaks[] | এই রুটে চলা গাড়ির জন্য নির্ধারিত বিরতি। |
metrics | এই রুটের সময়কাল, দূরত্ব এবং লোড মেট্রিক্স। |
route_costs | রুটের খরচ, খরচ-সম্পর্কিত অনুরোধ ক্ষেত্র দ্বারা বিভক্ত। কীগুলি হল প্রোটো পাথ, ইনপুট OptimizeToursRequest-এর সাপেক্ষে, যেমন "model.shipments.pickups.cost", এবং মানগুলি হল সংশ্লিষ্ট খরচ ক্ষেত্রের দ্বারা উত্পন্ন মোট খরচ, সমগ্র রুট জুড়ে একত্রিত৷ অন্য কথায়, খরচ ["model.shipments.pickups.cost"] হল রুটের সমস্ত পিকআপ খরচের সমষ্টি৷ মডেলে সংজ্ঞায়িত সমস্ত খরচ এখানে বিস্তারিতভাবে রিপোর্ট করা হয়েছে ট্রানজিশন অ্যাট্রিবিউটের সাথে সম্পর্কিত খরচগুলি বাদ দিয়ে যেগুলি শুধুমাত্র 2022/01 হিসাবে সমষ্টিগতভাবে রিপোর্ট করা হয়েছে। |
route_total_cost | রুটের মোট খরচ। খরচ ম্যাপে সমস্ত খরচের যোগফল। |
বিরতি
একটি বিরতির সম্পাদন প্রতিনিধিত্বকারী ডেটা।
ক্ষেত্র | |
---|---|
start_time | বিরতির শুরুর সময়। |
duration | বিরতির সময়কাল। |
এনকোডেড পলিলাইন
একটি পলিলাইনের এনকোড করা উপস্থাপনা। পলিলাইন এনকোডিং সম্পর্কে আরও তথ্য এখানে পাওয়া যাবে: https://developers.google.com/maps/documentation/utilities/polylinealgorithm https://developers.google.com/maps/documentation/javascript/reference/geometry#encoding ।
ক্ষেত্র | |
---|---|
points | পলিলাইনের এনকোডেড পয়েন্ট প্রতিনিধিত্বকারী স্ট্রিং। |
উত্তরণ
রুটে দুটি ইভেন্টের মধ্যে স্থানান্তর। ShipmentRoute
বর্ণনা দেখুন।
যদি গাড়ির কোনও start_location
এবং/অথবা end_location
না থাকে তবে সংশ্লিষ্ট ট্র্যাভেল মেট্রিকগুলি 0 হয়।
ক্ষেত্র | |
---|---|
travel_duration | এই পরিবর্তনের সময় ভ্রমণের সময়কাল। |
travel_distance_meters | স্থানান্তরের সময় দূরত্ব ভ্রমণ। |
traffic_info_unavailable | যখন |
delay_duration | এই ট্রানজিশনে প্রযোজ্য বিলম্বের সময়কালের যোগফল। যদি কোনও হয় তবে বিলম্বটি পরবর্তী ইভেন্টের (ভিজিট বা যানবাহন শেষ) ঠিক আগে |
break_duration | এই পরিবর্তনের সময় বিরতির সময়কালের যোগফল, যদি থাকে। প্রতিটি বিরতির শুরুর সময় এবং সময়কাল সম্পর্কে বিশদ বিবরণ |
wait_duration | এই ট্রানজিশনের সময় অপেক্ষায় কেটেছে। অপেক্ষার সময়কাল অলস সময়ের সাথে মিলে যায় এবং বিরতির সময় অন্তর্ভুক্ত করে না। এছাড়াও মনে রাখবেন যে এই অপেক্ষার সময়টিকে কয়েকটি অ-সংলগ্ন বিরতিতে বিভক্ত করা যেতে পারে। |
total_duration | ট্রানজিশনের মোট সময়কাল, সুবিধার জন্য প্রদত্ত। এটি সমান:
|
start_time | এই রূপান্তরের শুরুর সময়। |
route_polyline | রূপান্তরের সময় অনুসরণ করা রুটের এনকোডেড পলিলাইন উপস্থাপনা। এই ক্ষেত্রটি কেবল তখনই পপুলেটেড হয় যদি |
route_token | শুধুমাত্র আউটপুট। একটি অস্বচ্ছ টোকেন যা নেভিগেশনের সময় রুটটি পুনর্গঠন করতে নেভিগেশন SDK- তে পাস করা যেতে পারে এবং, পুনরায় রুট করার ক্ষেত্রে, রুটটি তৈরি করার সময় আসল উদ্দেশ্যকে সম্মান করে। এই টোকেনটিকে একটি অস্বচ্ছ ব্লব হিসাবে বিবেচনা করুন। অনুরোধ জুড়ে এর মান তুলনা করবেন না কারণ পরিষেবাটি ঠিক একই রুট ফিরিয়ে দিলেও এর মান পরিবর্তিত হতে পারে। এই ক্ষেত্রটি কেবল তখনই পপুলেটেড হয় যদি |
vehicle_loads | এই ট্রানজিশনের সময় যানবাহন লোড হয়, প্রতিটি প্রকারের জন্য যা হয় এই গাড়ির প্রথম স্থানান্তরের সময় লোডগুলি হল গাড়ির রুটের শুরুর লোড। তারপরে, প্রতিটি দেখার পরে, ভিজিটটি পিকআপ বা ডেলিভারি ছিল কিনা তার উপর নির্ভর করে ভিজিটের |
যানবাহন লোড
প্রদত্ত ধরণের জন্য রুট বরাবর কোনও পর্যায়ে গাড়ির আসল লোডের প্রতিবেদন করে (দেখুন Transition.vehicle_loads
)।
ক্ষেত্র | |
---|---|
amount | প্রদত্ত ধরণের জন্য গাড়িতে লোডের পরিমাণ। লোডের এককটি সাধারণত প্রকারের দ্বারা নির্দেশিত হয়। ট্রানজিশন দেখুন |
ভিজিট করুন
একটি রুট চলাকালীন একটি পরিদর্শন সঞ্চালিত. এই পরিদর্শনটি একটি পিকআপ বা একটি Shipment
ডেলিভারির সাথে সম্পর্কিত৷
ক্ষেত্র | |
---|---|
shipment_index | |
is_pickup | সত্য হলে পরিদর্শনটি একটি |
visit_request_index | |
start_time | সফর শুরু হওয়ার সময়। উল্লেখ্য যে যানবাহন পরিদর্শন স্থানে এর আগে পৌঁছাতে পারে। সময় |
load_demands | চালানের যোগফল এবং ভিজিট অনুরোধ |
detour | পরিদর্শনের আগে রুটে পরিদর্শন করা শিপমেন্ট এবং টাইম উইন্ডোর দ্বারা প্ররোচিত সম্ভাব্য অপেক্ষার সময়ের কারণে অতিরিক্ত চক্কর সময়। যদি ভিজিটটি একটি ডেলিভারি হয়, তবে চক্করটি সংশ্লিষ্ট পিকআপ ভিজিট থেকে গণনা করা হয় এবং এর সমান:
অন্যথায়, এটি যানবাহন
|
shipment_label | সংশ্লিষ্ট |
visit_label | সংশ্লিষ্ট |
শিপমেন্ট টাইপিংকম্প্যাটিবিলিটি
তাদের চালান_ টাইপের উপর নির্ভর করে চালানের মধ্যে অসঙ্গতিগুলি নির্দিষ্ট করে। একই রুটে বেমানান শিপমেন্টের উপস্থিতি অসঙ্গতি মোডের ভিত্তিতে সীমাবদ্ধ।
ক্ষেত্র | |
---|---|
types[] | বেমানান ধরণের তালিকা। তালিকাভুক্তদের মধ্যে বিভিন্ন |
incompatibility_mode | মোডটি অসম্পূর্ণতার জন্য প্রয়োগ করা হয়েছে। |
অসঙ্গতিমোড
কীভাবে বেমানান শিপমেন্টের উপস্থিতি একই রুটে সীমাবদ্ধ রয়েছে তা সংজ্ঞায়িত মোডগুলি।
Enums | |
---|---|
INCOMPATIBILITY_MODE_UNSPECIFIED | অনির্ধারিত অসঙ্গতি মোড। এই মানটি কখনই ব্যবহার করা উচিত নয়। |
NOT_PERFORMED_BY_SAME_VEHICLE | এই মোডে, বেমানান ধরণের দুটি শিপমেন্ট কখনই একই যানবাহন ভাগ করতে পারে না। |
NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY |
|
শিপমেন্ট টাইপেয়ারকায়ারমেন্ট
তাদের চালান_ টাইপের উপর ভিত্তি করে চালানের মধ্যে প্রয়োজনীয়তা নির্দিষ্ট করে। প্রয়োজনীয়তার স্পেসিফিকেশনগুলি প্রয়োজনীয়তা মোড দ্বারা সংজ্ঞায়িত করা হয়।
ক্ষেত্র | |
---|---|
required_shipment_type_alternatives[] | |
dependent_shipment_types[] | দ্রষ্টব্য: প্রয়োজনীয়তার চেইনগুলি যেমন একটি |
requirement_mode | প্রয়োজনীয়তার জন্য মোড প্রয়োগ করা হয়েছে। |
প্রয়োজনীয়মোড
কোনও রুটে নির্ভরশীল চালানের উপস্থিতি সংজ্ঞায়িত মোডগুলি।
Enums | |
---|---|
REQUIREMENT_MODE_UNSPECIFIED | অনির্ধারিত প্রয়োজনীয়তা মোড। এই মানটি কখনই ব্যবহার করা উচিত নয়। |
PERFORMED_BY_SAME_VEHICLE | এই মোডে, সমস্ত "নির্ভরশীল" শিপমেন্ট অবশ্যই তাদের "প্রয়োজনীয়" শিপমেন্টগুলির মধ্যে কমপক্ষে একটি হিসাবে একই যানবাহন ভাগ করে নিতে হবে। |
IN_SAME_VEHICLE_AT_PICKUP_TIME | একটি "নির্ভরশীল" চালানের পিকআপের অবশ্যই অবশ্যই থাকতে হবে:
|
IN_SAME_VEHICLE_AT_DELIVERY_TIME | আগের মতোই, "নির্ভরশীল" চালানের ব্যতীত তাদের সরবরাহের সময় তাদের গাড়ীতে একটি "প্রয়োজনীয়" চালান থাকা দরকার। |
স্কিপশিপমেন্ট
একটি সমাধানে অপরিবর্তিত শিপমেন্টের বিশদ নির্দিষ্ট করে। তুচ্ছ মামলার জন্য এবং/অথবা যদি আমরা এড়িয়ে যাওয়ার কারণটি সনাক্ত করতে সক্ষম হই তবে আমরা এখানে কারণটি প্রতিবেদন করি।
ক্ষেত্র | |
---|---|
index | সূচকটি সোর্স |
label | সংশ্লিষ্ট |
reasons[] | কেন চালানটি এড়িয়ে গেছে তা ব্যাখ্যা করে এমন একটি কারণগুলির একটি তালিকা। উপরোক্ত |
কারণ
চালানটি কেন এড়িয়ে গেছে তা যদি আমরা ব্যাখ্যা করতে পারি তবে কারণগুলি এখানে তালিকাভুক্ত করা হবে। যদি সমস্ত যানবাহনের জন্য কারণ একই না হয় তবে reason
1 টিরও বেশি উপাদান থাকবে। একটি এড়িয়ে যাওয়া চালানের নকল কারণ থাকতে পারে না, যেমন সমস্ত ক্ষেত্র একই থাকে example_vehicle_index
। উদাহরণ:
reasons {
code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
example_vehicle_index: 1
example_exceeded_capacity_type: "Apples"
}
reasons {
code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
example_vehicle_index: 3
example_exceeded_capacity_type: "Pears"
}
reasons {
code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
example_vehicle_index: 1
}
এড়িয়ে যাওয়া চালানটি সমস্ত যানবাহনের সাথে বেমানান। কারণগুলি সমস্ত যানবাহনের জন্য আলাদা হতে পারে তবে কমপক্ষে একটি গাড়ির "আপেল" ক্ষমতা ছাড়িয়ে যাবে (যানবাহন 1 সহ), কমপক্ষে একটি গাড়ির "নাশপাতি" ক্ষমতা ছাড়িয়ে যাবে (যানবাহন 3 সহ) এবং কমপক্ষে একটি গাড়ির দূরত্বের সীমা থাকবে অতিক্রম করুন (যানবাহন 1 সহ)।
ক্ষেত্র | |
---|---|
code | কোডের মন্তব্যগুলি দেখুন। |
example_exceeded_capacity_type | যদি কারণ কোডটি |
example_vehicle_index | যদি কারণটি চালান-যানবাহন অসঙ্গতির সাথে সম্পর্কিত হয় তবে এই ক্ষেত্রটি একটি প্রাসঙ্গিক গাড়ির সূচক সরবরাহ করে। |
কোড
কোড কারণ টাইপ সনাক্তকরণ। এখানে অর্ডার অর্থহীন। বিশেষত, এটি উভয়ই প্রয়োগ করা হলে সমাধানের ক্ষেত্রে অন্য কোনও কারণ উপস্থিত হবে কিনা তার কোনও ইঙ্গিত দেয় না।
Enums | |
---|---|
CODE_UNSPECIFIED | এটি কখনই ব্যবহার করা উচিত নয়। |
NO_VEHICLE | মডেলটিতে কোনও যানবাহন নেই যা সমস্ত চালানকে অপ্রয়োজনীয় করে তোলে। |
DEMAND_EXCEEDS_VEHICLE_CAPACITY | চালানের চাহিদা কিছু ক্ষমতার ধরণের জন্য একটি গাড়ির সক্ষমতা ছাড়িয়ে যায়, যার মধ্যে একটি example_exceeded_capacity_type টাইপ। |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT | এই চালানটি সম্পাদনের জন্য প্রয়োজনীয় সর্বনিম্ন দূরত্ব, অর্থাত্ গাড়ির নোট করুন যে এই গণনার জন্য আমরা জিওডেসিক দূরত্ব ব্যবহার করি। |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT | ভ্রমণের সময়, অপেক্ষা করার সময় এবং পরিষেবার সময় সহ এই চালানটি সম্পাদনের জন্য প্রয়োজনীয় সর্বনিম্ন সময় গাড়ির দ্রষ্টব্য: ভ্রমণের সময়টি সেরা ক্ষেত্রে দৃশ্যে গণনা করা হয়, যথা জিওডেসিক দূরত্ব x 36 মি/এস (প্রায় 130 কিমি/ঘন্টা) হিসাবে। |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT | উপরের মতো একই তবে আমরা কেবল ন্যূনতম ভ্রমণের সময় এবং গাড়ির travel_duration_limit তুলনা করি। |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS | যানবাহনটি এই চালানটি সেরা-ক্ষেত্রে দৃশ্যে সম্পাদন করতে পারে না (দেখুন CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT সময় গণনার জন্য) যদি এটি তার প্রথম দিকের সময়ে শুরু হয়: মোট সময়টি তার সর্বশেষ শেষ সময়ের পরে গাড়িটি শেষ করে দেবে। |
VEHICLE_NOT_ALLOWED | চালানের allowed_vehicle_indices ক্ষেত্রগুলি খালি নয় এবং এই যানটি এর সাথে সম্পর্কিত নয়। |
টাইম উইন্ডো
টাইম উইন্ডোজ কোনও ইভেন্টের সময়কে সীমাবদ্ধ করে, যেমন দেখার সময় আগমনের সময়, বা কোনও গাড়ির শুরু এবং শেষ সময়।
হার্ড টাইম উইন্ডো সীমানা, start_time
এবং end_time
, ইভেন্টের প্রাথমিকতম এবং সর্বশেষ সময়টি প্রয়োগ করে, যেমন যে start_time <= event_time <= end_time
। সফট টাইম উইন্ডো লোয়ার বাউন্ড, soft_start_time
, soft_start_time
বা তার পরে ঘটনার জন্য একটি পছন্দ প্রকাশ করে যা সফট_স্টার্ট_টাইম ইভেন্টটি হওয়ার আগে কতক্ষণ আগে আনুপাতিক ব্যয় করে। সফট টাইম উইন্ডো উপরের আবদ্ধ, soft_end_time
, soft_end_time
আগে বা তার আগে ঘটনার জন্য একটি অগ্রাধিকার প্রকাশ করে যা soft_end_time
ইভেন্টটি ঘটে তার কতক্ষণের পরে সমানুপাতিক ব্যয় করে। start_time
, end_time
, soft_start_time
এবং soft_end_time
বিশ্বব্যাপী সময়সীমার মধ্যে হওয়া উচিত ( ShipmentModel.global_start_time
এবং ShipmentModel.global_end_time
দেখুন) এবং সম্মান করা উচিত:
0 <= `start_time` <= `end_time` and
0 <= `start_time` <= `soft_start_time` and
0 <= `soft_end_time` <= `end_time`.
ক্ষেত্র | |
---|---|
start_time | হার্ড টাইম উইন্ডো শুরু করার সময়। যদি অনির্ধারিত হয় তবে এটি |
end_time | হার্ড টাইম উইন্ডো শেষ সময়। যদি অনির্ধারিত হয় তবে এটি |
soft_start_time | সময় উইন্ডোর নরম শুরুর সময়। |
soft_end_time | সময় উইন্ডোর নরম শেষ সময়। |
cost_per_hour_before_soft_start_time | মডেলটিতে অন্যান্য ব্যয়গুলিতে প্রতি ঘন্টা ব্যয় যুক্ত করা হয় যদি ইভেন্টটি সফট_স্টার্ট_টাইমের আগে ঘটে থাকে তবে গণনা করা হয়:
এই ব্যয়টি অবশ্যই ইতিবাচক হতে হবে এবং সফট_স্টার্ট_টাইম সেট করা থাকলে ক্ষেত্রটি কেবল সেট করা যেতে পারে। |
cost_per_hour_after_soft_end_time | মডেলটিতে অন্যান্য ব্যয়গুলিতে প্রতি ঘন্টা ব্যয় যুক্ত করা হয় যদি ইভেন্টটি
এই ব্যয়টি অবশ্যই ইতিবাচক হতে হবে এবং ক্ষেত্রটি কেবল তখনই সেট করা যেতে পারে যদি |
ট্রানজিশনঅ্যাট্রিবিউটস
কোনও রুটে টানা দুটি পরিদর্শনগুলির মধ্যে ট্রানজিশনের বৈশিষ্ট্যগুলি নির্দিষ্ট করে। বেশ কয়েকটি TransitionAttributes
একই রূপান্তরটিতে প্রযোজ্য হতে পারে: সেক্ষেত্রে সমস্ত অতিরিক্ত ব্যয় যুক্ত হয় এবং কঠোর সীমাবদ্ধতা বা সীমাবদ্ধতা প্রযোজ্য (প্রাকৃতিক "এবং" শব্দার্থবিজ্ঞান অনুসরণ করে) প্রযোজ্য।
ক্ষেত্র | |
---|---|
src_tag | এই বৈশিষ্ট্যগুলি প্রযোজ্য (src-> ডিএসটি) ট্রানজিশনের সেট সংজ্ঞায়িত ট্যাগগুলি। একটি উত্স ভিজিট বা যানবাহন শুরু হয় যদি তার |
excluded_src_tag | |
dst_tag | একটি গন্তব্য পরিদর্শন বা যানবাহন শেষের সাথে মেলে যদি এটি |
excluded_dst_tag | |
cost | এই রূপান্তর সম্পাদনের জন্য একটি ব্যয় নির্দিষ্ট করে। এটি মডেলের অন্যান্য সমস্ত ব্যয়ের মতো একই ইউনিটে রয়েছে এবং এটি নেতিবাচক হতে হবে না। এটি অন্যান্য সমস্ত বিদ্যমান ব্যয়ের শীর্ষে প্রয়োগ করা হয়। |
cost_per_kilometer | এই রূপান্তরটি সম্পাদন করার সময় ভ্রমণ করা দূরত্বে প্রয়োগ করা প্রতি কিলোমিটারের জন্য একটি ব্যয় নির্দিষ্ট করে। এটি যে কোনও যানবাহনে যুক্ত করে |
distance_limit | এই রূপান্তরটি সম্পাদন করার সময় ভ্রমণ করা দূরত্বের একটি সীমা নির্দিষ্ট করে। 2021/06 হিসাবে, কেবল নরম সীমা সমর্থিত। |
delay | এই রূপান্তরটি সম্পাদন করার সময় ব্যয় করা একটি বিলম্ব নির্দিষ্ট করে। এই বিলম্বটি সর্বদা উত্স ভিজিট শেষ করার পরে এবং গন্তব্য দর্শন শুরু করার আগে ঘটে। |
যানবাহন
চালানের সমস্যায় একটি যানবাহন মডেল। একটি চালানের সমস্যা সমাধান করা এই যানবাহনের জন্য start_location
থেকে শুরু করে একটি end_location
তৈরি করবে। একটি রুট ভিজিটের ক্রম ( ShipmentRoute
দেখুন)।
ক্ষেত্র | |
---|---|
display_name | গাড়ির ব্যবহারকারী-সংজ্ঞায়িত ডিসপ্লে নাম। এটি 63 টি অক্ষর দীর্ঘ হতে পারে এবং ইউটিএফ -8 অক্ষর ব্যবহার করতে পারে। |
travel_mode | ভ্রমণ মোড যা যানবাহন এবং এর গতি দ্বারা ব্যবহারযোগ্য রাস্তাগুলিকে প্রভাবিত করে। |
route_modifiers | সন্তুষ্ট করার জন্য শর্তগুলির একটি সেট যা প্রদত্ত যানবাহনের জন্য রুটগুলি গণনা করা হয় তা প্রভাবিত করে। |
start_location | ভৌগলিক অবস্থান যেখানে কোনও চালান বাছাইয়ের আগে যানবাহন শুরু হয়। যদি নির্দিষ্ট না করা হয় তবে গাড়িটি তার প্রথম পিকআপে শুরু হয়। যদি চালানের মডেলটির সময়কাল এবং দূরত্বের ম্যাট্রিক থাকে তবে |
start_waypoint | কোনও ভৌগলিক অবস্থানের প্রতিনিধিত্ব করে যেখানে কোনও চালান বাছাইয়ের আগে যানবাহন শুরু হয় এমন একটি ভৌগলিক অবস্থানের প্রতিনিধিত্ব করে। যদি |
end_location | ভৌগলিক অবস্থান যেখানে যানটি শেষের পরে শেষ হওয়ার পরে |
end_waypoint | ওয়ে পয়েন্টটি এমন একটি ভৌগলিক অবস্থানের প্রতিনিধিত্ব করে যেখানে গাড়িটি তার শেষ |
start_tags[] | গাড়ির রুটের শুরুতে সংযুক্ত ট্যাগগুলি নির্দিষ্ট করে। খালি বা সদৃশ স্ট্রিং অনুমোদিত নয়। |
end_tags[] | গাড়ির রুটের শেষের সাথে সংযুক্ত ট্যাগগুলি নির্দিষ্ট করে। খালি বা সদৃশ স্ট্রিং অনুমোদিত নয়। |
start_time_windows[] | সময় উইন্ডোজ যার সময় যানবাহনটি তার শুরু করার অবস্থানটি ছেড়ে যেতে পারে। এগুলি অবশ্যই বিশ্বব্যাপী সময়সীমার মধ্যে থাকতে হবে ( একই পুনরাবৃত্তি ক্ষেত্রের সাথে সম্পর্কিত টাইম উইন্ডোজগুলি অবশ্যই বিরক্ত হতে হবে, অর্থাত্ কোনও সময় উইন্ডো অন্যটির সাথে বা অন্য সংলগ্ন হতে পারে না এবং সেগুলি অবশ্যই কালানুক্রমিক ক্রমে থাকতে হবে। |
end_time_windows[] | সময় উইন্ডোজ যার সময় যানবাহনটি তার শেষ স্থানে আসতে পারে। এগুলি অবশ্যই বিশ্বব্যাপী সময়সীমার মধ্যে থাকতে হবে ( একই পুনরাবৃত্তি ক্ষেত্রের সাথে সম্পর্কিত টাইম উইন্ডোজগুলি অবশ্যই বিরক্ত হতে হবে, অর্থাত্ কোনও সময় উইন্ডো অন্যটির সাথে বা অন্য সংলগ্ন হতে পারে না এবং সেগুলি অবশ্যই কালানুক্রমিক ক্রমে থাকতে হবে। |
unloading_policy | যানবাহনে প্রয়োগ করা নীতি আনলোডিং। |
load_limits | গাড়ির সক্ষমতা (ওজন, ভলিউম, # উদাহরণস্বরূপ প্যালেটগুলির #)। মানচিত্রের কীগুলি হ'ল লোডের ধরণের শনাক্তকারী, চালানের কীগুলির সাথে সামঞ্জস্যপূর্ণ |
cost_per_hour | যানবাহন ব্যয়: সমস্ত ব্যয় যুক্ত হয় এবং অবশ্যই গাড়ির রুটের প্রতি ঘন্টা ব্যয়। এই ব্যয়টি রুটের দ্বারা নেওয়া মোট সময়ের জন্য প্রয়োগ করা হয় এবং এতে ভ্রমণের সময়, অপেক্ষার সময় এবং দেখার সময় অন্তর্ভুক্ত থাকে। কেবল |
cost_per_traveled_hour | গাড়ির রুটের ভ্রমণ ঘন্টা প্রতি ব্যয়। এই ব্যয়টি কেবল রুট দ্বারা গৃহীত ভ্রমণের সময় প্রয়োগ করা হয় (অর্থাত্ |
cost_per_kilometer | গাড়ির রুটের প্রতি কিলোমিটার খরচ। এই ব্যয়টি |
fixed_cost | যদি এই যানবাহন চালান পরিচালনা করতে ব্যবহৃত হয় তবে স্থির ব্যয় প্রয়োগ করা হয়। |
used_if_route_is_empty | এই ক্ষেত্রটি কেবল যানবাহনগুলিতে প্রযোজ্য যখন তাদের রুট কোনও চালান সরবরাহ করে না। এটি নির্দেশ করে যে গাড়িটি এই ক্ষেত্রে ব্যবহৃত হিসাবে বিবেচনা করা উচিত কিনা। যদি সত্য হয় তবে গাড়িটি তার শুরু থেকে শেষ স্থানে চলে যায় এমনকি যদি এটি কোনও চালান সরবরাহ না করে এবং সময় এবং দূরত্বের ব্যয় শুরু হওয়ার ফলে -> শেষ ভ্রমণকে বিবেচনায় নেওয়া হয়। অন্যথায়, এটি তার শুরু থেকে শেষ স্থানে ভ্রমণ করে না, এবং এই গাড়ির জন্য কোনও |
route_duration_limit | সীমাটি গাড়ির রুটের মোট সময়কাল প্রয়োগ করে। প্রদত্ত |
travel_duration_limit | সীমাটি গাড়ির রুটের ভ্রমণের সময়কালে প্রয়োগ করা হয়। প্রদত্ত |
route_distance_limit | সীমাটি গাড়ির রুটের মোট দূরত্বে প্রয়োগ করা হয়েছে। প্রদত্ত |
extra_visit_duration_for_visit_type | ভিজিট_ টাইপস স্ট্রিং থেকে সময়সীমা পর্যন্ত একটি মানচিত্র নির্দিষ্ট করে। সময়কালটি যদি কোনও ভিজিট অনুরোধের একাধিক প্রকার থাকে তবে মানচিত্রে প্রতিটি ধরণের জন্য একটি সময়কাল যুক্ত করা হবে। |
break_rule | এই গাড়িতে কার্যকর করার জন্য বিরতি শিডিউল বর্ণনা করে। যদি খালি হয় তবে এই গাড়ির জন্য কোনও বিরতি নির্ধারিত হবে না। |
label | এই গাড়ির জন্য একটি লেবেল নির্দিষ্ট করে। এই লেবেলটি প্রতিক্রিয়াতে সম্পর্কিত |
ignore | যদি সত্য হয় তবে যদি কোনও চালানটি যদি |
travel_duration_multiple | এই গাড়ির ভ্রমণের সময় বাড়াতে বা হ্রাস করতে ব্যবহার করা যেতে পারে এমন একটি গুণক ফ্যাক্টর নির্দিষ্ট করে। উদাহরণস্বরূপ, এটি 2.0 এ সেট করার অর্থ এই যানটি ধীর এবং ভ্রমণের সময় রয়েছে যা তারা স্ট্যান্ডার্ড যানবাহনের জন্য দ্বিগুণ। এই একাধিক ভিজিট সময়কে প্রভাবিত করে না। এটি ব্যয়কে প্রভাবিত করে যদি সতর্কতা: এই একাধিক প্রয়োগের পরে ভ্রমণের সময়গুলি নিকটতম সেকেন্ডে গোল করা হবে তবে কোনও সংখ্যাসূচক ক্রিয়াকলাপ সম্পাদনের আগে, সুতরাং, একটি ছোট একাধিক নির্ভুলতার ক্ষতি হতে পারে। নীচে |
সময়কাল limit
একটি যানবাহনের রুটের সর্বাধিক সময়কাল নির্ধারণের একটি সীমা। এটি শক্ত বা নরম হতে পারে।
যখন কোনও নরম সীমা ক্ষেত্রটি সংজ্ঞায়িত করা হয়, তখন উভয় নরম সর্বোচ্চ প্রান্তিকতা এবং এর সাথে সম্পর্কিত ব্যয় উভয়ই একসাথে সংজ্ঞায়িত করতে হবে।
ক্ষেত্র | |
---|---|
max_duration | একটি হার্ড সীমা সর্বাধিক সর্বোচ্চ_করণের সময়কালকে সীমাবদ্ধ করে। |
soft_max_duration | একটি নরম সীমা সর্বাধিক সময়কাল সীমা প্রয়োগ না করে, তবে লঙ্ঘিত হলে এই রুটটি ব্যয় করে। এই ব্যয়টি একই ইউনিটের সাথে মডেলটিতে সংজ্ঞায়িত অন্যান্য ব্যয় পর্যন্ত যুক্ত করে। যদি সংজ্ঞায়িত করা হয় তবে |
quadratic_soft_max_duration | একটি নরম সীমা সর্বাধিক সময়কাল সীমা প্রয়োগ না করে, তবে যখন লঙ্ঘিত হয় তখন রুটটি একটি ব্যয় ব্যয় করে, সময়কালে চতুর্ভুজ। এই ব্যয়টি একই ইউনিটের সাথে মডেলটিতে সংজ্ঞায়িত অন্যান্য ব্যয় পর্যন্ত যুক্ত করে। যদি সংজ্ঞায়িত করা হয় তবে |
cost_per_hour_after_soft_max |
ব্যয়টি অবশ্যই অবিচ্ছিন্ন হতে হবে। |
cost_per_square_hour_after_quadratic_soft_max | অতিরিক্ত ব্যয় 0 হয় যদি সময়কাল প্রান্তিকের অধীনে থাকে, অন্যথায় ব্যয়টি নিম্নরূপ সময়কালের উপর নির্ভর করে:
ব্যয়টি অবশ্যই অবিচ্ছিন্ন হতে হবে। |
লোডলিমিট
কোনও যানবাহনে প্রয়োগ করার একটি লোড সীমা সংজ্ঞায়িত করে, যেমন "এই ট্রাকটি কেবল 3500 কেজি পর্যন্ত বহন করতে পারে"। load_limits
দেখুন।
ক্ষেত্র | |
---|---|
soft_max_load | লোডের একটি নরম সীমা। |
cost_per_unit_above_soft_max | If the load ever exceeds |
start_load_interval | The acceptable load interval of the vehicle at the start of the route. |
end_load_interval | The acceptable load interval of the vehicle at the end of the route. |
max_load | The maximum acceptable amount of load. |
ব্যবধান
Interval of acceptable load amounts.
ক্ষেত্র | |
---|---|
min | A minimum acceptable load. Must be ≥ 0. If they're both specified, |
max | A maximum acceptable load. Must be ≥ 0. If unspecified, the maximum load is unrestricted by this message. If they're both specified, |
TravelMode
Travel modes which can be used by vehicles.
These should be a subset of the Google Maps Platform Routes Preferred API travel modes, see: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode .
Enums | |
---|---|
TRAVEL_MODE_UNSPECIFIED | Unspecified travel mode, equivalent to DRIVING . |
DRIVING | Travel mode corresponding to driving directions (car, ...). |
WALKING | Travel mode corresponding to walking directions. |
UnloadingPolicy
Policy on how a vehicle can be unloaded. Applies only to shipments having both a pickup and a delivery.
Other shipments are free to occur anywhere on the route independent of unloading_policy
.
Enums | |
---|---|
UNLOADING_POLICY_UNSPECIFIED | Unspecified unloading policy; deliveries must just occur after their corresponding pickups. |
LAST_IN_FIRST_OUT | Deliveries must occur in reverse order of pickups |
FIRST_IN_FIRST_OUT | Deliveries must occur in the same order as pickups |
ওয়েপয়েন্ট
Encapsulates a waypoint. Waypoints mark arrival and departure locations of VisitRequests, and start and end locations of Vehicles.
ক্ষেত্র | |
---|---|
side_of_road | ঐচ্ছিক। Indicates that the location of this waypoint is meant to have a preference for the vehicle to stop at a particular side of road. When you set this value, the route will pass through the location so that the vehicle can stop at the side of road that the location is biased towards from the center of the road. This option doesn't work for the 'WALKING' travel mode. |
Union field location_type . Different ways to represent a location. location_type can be only one of the following: | |
location | A point specified using geographic coordinates, including an optional heading. |
place_id | The POI Place ID associated with the waypoint. |