সূচক
-
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 | প্রয়োজন। রুটের যেকোনো সময়ের ব্যবধানের সর্বাধিক অনুমোদিত স্প্যান যা অন্তত আংশিকভাবে |
ডেটা ফরম্যাট
ইনপুট এবং আউটপুট ফাইলের জন্য ডেটা বিন্যাস।
এনামস | |
---|---|
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 | পরিদর্শনের সংখ্যা বা তার পরে শিথিলকরণ যদি এটি |
স্তর
বিভিন্ন সীমাবদ্ধতা শিথিলকরণ স্তরগুলি প্রকাশ করে, যা একটি পরিদর্শনের জন্য প্রয়োগ করা হয় এবং যেগুলি থ্রেশহোল্ড শর্তগুলিকে সন্তুষ্ট করার সময় অনুসরণ করে৷
নীচের গণনাটি শিথিলকরণ বৃদ্ধির ক্রম অনুসারে।
এনামস | |
---|---|
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: |
অনুসন্ধান মোড
মোড অনুসন্ধানের আচরণকে সংজ্ঞায়িত করে, ট্রেডিং অফ লেটেন্সি বনাম সমাধানের গুণমান। সমস্ত মোডে, বিশ্বব্যাপী অনুরোধের সময়সীমা কার্যকর করা হয়।
এনামস | |
---|---|
SEARCH_MODE_UNSPECIFIED | অনির্দিষ্ট অনুসন্ধান মোড, RETURN_FAST এর সমতুল্য। |
RETURN_FAST | প্রথম ভাল সমাধান খুঁজে পাওয়ার পরে অনুসন্ধান বন্ধ করুন। |
CONSUME_ALL_AVAILABLE_TIME | আরও ভাল সমাধান অনুসন্ধান করার জন্য সমস্ত উপলব্ধ সময় ব্যয় করুন। |
সমাধান মোড
সমাধানকারীর অনুরোধটি কীভাবে পরিচালনা করা উচিত তা সংজ্ঞায়িত করে। সমস্ত মোডে VALIDATE_ONLY
, যদি অনুরোধটি অবৈধ হয়, আপনি একটি INVALID_REQUEST
ত্রুটি পাবেন৷ ফিরে আসা ত্রুটির সংখ্যা ক্যাপ করতে max_validation_errors
দেখুন।
এনামস | |
---|---|
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 UTC, জানুয়ারী 1, 1971 (অর্থাৎ সেকেন্ড: 31536000, nanos: 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
শুরু করতে হবে।
একই (বা সম্পর্কিত) ঘটনাগুলিকে উল্লেখ করতে পারে বেশ কিছু পূর্বসূর্য, যেমন, "A-এর ডেলিভারির পরে B-এর পিকআপ হয়" এবং "B-এর পিক-আপের পরে C-এর পিকআপ ঘটে"।
তদ্ব্যতীত, অগ্রাধিকার শুধুমাত্র তখনই প্রযোজ্য যখন উভয় চালান সঞ্চালিত হয় এবং অন্যথায় উপেক্ষা করা হয়।
ক্ষেত্র | |
---|---|
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 | রূপান্তরের সময় অনুসরণ করা রুটের এনকোডেড পলিলাইন উপস্থাপনা। |
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 | অসঙ্গতিতে মোড প্রয়োগ করা হয়েছে। |
অসঙ্গতি মোড
একই রুটে অসামঞ্জস্যপূর্ণ চালানের উপস্থিতি কীভাবে সীমাবদ্ধ থাকে তা নির্ধারণ করে।
এনামস | |
---|---|
INCOMPATIBILITY_MODE_UNSPECIFIED | অনির্দিষ্ট অসঙ্গতি মোড। এই মান ব্যবহার করা উচিত নয়. |
NOT_PERFORMED_BY_SAME_VEHICLE | এই মোডে, অসামঞ্জস্যপূর্ণ ধরনের দুটি চালান একই যানবাহন ভাগ করতে পারে না। |
NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY |
|
চালানের প্রকারের প্রয়োজনীয়তা
শিপমেন্ট_টাইপের উপর ভিত্তি করে চালানের মধ্যে প্রয়োজনীয়তা নির্দিষ্ট করে। প্রয়োজনীয়তার স্পেসিফিকেশন প্রয়োজন মোড দ্বারা সংজ্ঞায়িত করা হয়.
ক্ষেত্র | |
---|---|
required_shipment_type_alternatives[] | |
dependent_shipment_types[] | দ্রষ্টব্য: প্রয়োজনীয়তার চেইন যেমন একটি |
requirement_mode | প্রয়োজনে মোড প্রয়োগ করা হয়েছে। |
প্রয়োজন মোড
একটি রুটে নির্ভরশীল শিপমেন্টের উপস্থিতি সংজ্ঞায়িত করে।
এনামস | |
---|---|
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 | যদি কারণটি চালান-গাড়ির অসঙ্গতির সাথে সম্পর্কিত হয়, তাহলে এই ক্ষেত্রটি একটি প্রাসঙ্গিক গাড়ির সূচক প্রদান করে। |
কোড
কারণের ধরন সনাক্তকারী কোড। এখানে আদেশ অর্থহীন। বিশেষ করে, এটি কোন ইঙ্গিত দেয় না যে একটি প্রদত্ত কারণ সমাধানে অন্যটির সামনে উপস্থিত হবে কিনা, যদি উভয়ই প্রযোজ্য হয়।
এনামস | |
---|---|
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 m/s (প্রায় 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_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 | soft_start_time এর আগে ইভেন্টটি ঘটলে মডেলের অন্যান্য খরচের সাথে প্রতি ঘন্টায় একটি খরচ যোগ করা হয়, এই হিসাবে গণনা করা হয়:
এই খরচটি অবশ্যই ইতিবাচক হতে হবে, এবং ক্ষেত্রটি তখনই সেট করা যেতে পারে যদি soft_start_time সেট করা থাকে। |
cost_per_hour_after_soft_end_time |
এই খরচটি অবশ্যই ইতিবাচক হতে হবে, এবং ক্ষেত্রটি তখনই সেট করা যেতে পারে যদি |
ট্রানজিশন অ্যাট্রিবিউট
একটি রুটে পরপর দুটি ভিজিটের মধ্যে পরিবর্তনের বৈশিষ্ট্যগুলি নির্দিষ্ট করে৷ একই ট্রানজিশনে বেশ কিছু TransitionAttributes
প্রযোজ্য হতে পারে: সেই ক্ষেত্রে, সমস্ত অতিরিক্ত খরচ যোগ হয় এবং কঠোরতম সীমাবদ্ধতা বা সীমা প্রযোজ্য হয় (প্রাকৃতিক "AND" শব্দার্থবিদ্যা অনুসরণ করে)।
ক্ষেত্র | |
---|---|
src_tag | ট্যাগগুলি (src->dst) ট্রানজিশনের সেট সংজ্ঞায়িত করে এই বৈশিষ্ট্যগুলি প্রযোজ্য৷ একটি উৎস পরিদর্শন বা গাড়ির স্টার্ট মিলছে যদি এর |
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 অক্ষর পর্যন্ত লম্বা হতে পারে এবং UTF-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 | visit_types স্ট্রিং থেকে সময়কাল পর্যন্ত একটি মানচিত্র নির্দিষ্ট করে। সময়কাল হল যদি একটি ভিজিট রিকোয়েস্টের একাধিক প্রকার থাকে, তাহলে ম্যাপে প্রতিটি ধরনের জন্য একটি সময়কাল যোগ করা হবে। |
break_rule | এই গাড়ির উপর প্রয়োগ করা বিরতির সময়সূচী বর্ণনা করে। খালি থাকলে, এই গাড়ির জন্য কোন বিরতি নির্ধারণ করা হবে না। |
label | এই গাড়ির জন্য একটি লেবেল নির্দিষ্ট করে৷ এই লেবেলটি সংশ্লিষ্ট |
ignore | সত্য হলে, যদি যদি |
travel_duration_multiple | এই গাড়ির ভ্রমণের সময় বাড়াতে বা কমাতে ব্যবহার করা যেতে পারে এমন একটি গুণিতক ফ্যাক্টর নির্দিষ্ট করে। উদাহরণস্বরূপ, এটিকে 2.0 তে সেট করার অর্থ হল এই গাড়িটি ধীরগতির এবং এতে ভ্রমণের সময় রয়েছে যা স্ট্যান্ডার্ড যানবাহনের তুলনায় দ্বিগুণ। এই একাধিক পরিদর্শন সময়কাল প্রভাবিত করে না. সতর্কতা: এই মাল্টিপল প্রয়োগ করার পরে ভ্রমণের সময়গুলিকে নিকটতম সেকেন্ডে বৃত্তাকার করা হবে কিন্তু কোনো সংখ্যাসূচক ক্রিয়াকলাপ সম্পাদন করার আগে, এইভাবে, একটি ছোট মাল্টিপল নির্ভুলতা হারাতে পারে। এছাড়াও নিচে |
সময়সীমা
একটি গাড়ির রুটের সর্বাধিক সময়কাল সংজ্ঞায়িত একটি সীমা৷ এটা শক্ত বা নরম হতে পারে।
যখন একটি সফ্ট লিমিট ফিল্ড সংজ্ঞায়িত করা হয়, তখন নরম সর্বোচ্চ থ্রেশহোল্ড এবং এর সাথে সম্পর্কিত খরচ উভয়কেই একসাথে সংজ্ঞায়িত করতে হবে।
ক্ষেত্র | |
---|---|
max_duration | একটি কঠিন সীমা যা সময়কালকে সর্বাধিক_অধিকাংশ হতে বাধা দেয়। |
soft_max_duration | একটি নরম সীমা সর্বোচ্চ সময়সীমার সীমা বলবৎ করে না, কিন্তু লঙ্ঘন করলে রুটটিকে একটি খরচ বহন করতে হয়। এই খরচ একই ইউনিট সহ মডেলে সংজ্ঞায়িত অন্যান্য খরচ যোগ করে। যদি সংজ্ঞায়িত করা হয়, |
quadratic_soft_max_duration | একটি নরম সীমা সর্বোচ্চ সময়সীমার সীমা বলবৎ করে না, কিন্তু লঙ্ঘন করলে রুটটিকে খরচ করতে হয়, সময়কালের মধ্যে চতুর্মুখী। এই খরচ একই ইউনিট সহ মডেলে সংজ্ঞায়িত অন্যান্য খরচ যোগ করে। যদি সংজ্ঞায়িত করা হয়, |
cost_per_hour_after_soft_max |
খরচ nonnegative হতে হবে. |
cost_per_square_hour_after_quadratic_soft_max | অতিরিক্ত খরচ হল 0 যদি সময়কাল থ্রেশহোল্ডের নিচে থাকে, অন্যথায় খরচ নিম্নরূপ সময়কালের উপর নির্ভর করে:
খরচ nonnegative হতে হবে. |
লোডসীমা
একটি গাড়িতে প্রযোজ্য একটি লোড সীমা সংজ্ঞায়িত করে, যেমন "এই ট্রাকটি শুধুমাত্র 3500 কেজি পর্যন্ত বহন করতে পারে"। load_limits
দেখুন।
ক্ষেত্র | |
---|---|
soft_max_load | লোড একটি নরম সীমা. |
cost_per_unit_above_soft_max | এই গাড়ির রুটে লোড কখনও |
start_load_interval | রুটের শুরুতে গাড়ির গ্রহণযোগ্য লোডের ব্যবধান। |
end_load_interval | রুটের শেষে গাড়ির গ্রহণযোগ্য লোডের ব্যবধান। |
max_load | লোড সর্বোচ্চ গ্রহণযোগ্য পরিমাণ. |
ব্যবধান
গ্রহণযোগ্য লোড পরিমাণের ব্যবধান।
ক্ষেত্র | |
---|---|
min | একটি সর্বনিম্ন গ্রহণযোগ্য লোড. ≥ 0 হতে হবে। যদি তারা উভয়ই নির্দিষ্ট করে থাকে, |
max | একটি সর্বোচ্চ গ্রহণযোগ্য লোড. ≥ 0 হতে হবে। অনির্দিষ্ট থাকলে, এই বার্তা দ্বারা সর্বাধিক লোড সীমাবদ্ধ নয়। যদি তারা উভয়ই নির্দিষ্ট করে থাকে, |
ট্রাভেলমোড
যানবাহন দ্বারা ব্যবহার করা যেতে পারে যা ভ্রমণ মোড.
এগুলি Google মানচিত্র প্ল্যাটফর্ম রুট পছন্দের API ভ্রমণ মোডগুলির একটি উপসেট হওয়া উচিত, দেখুন: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode ।
এনামস | |
---|---|
TRAVEL_MODE_UNSPECIFIED | অনির্দিষ্ট ভ্রমণ মোড, DRIVING এর সমতুল্য। |
DRIVING | ড্রাইভিং দিকনির্দেশের সাথে সম্পর্কিত ভ্রমণ মোড (গাড়ি, ...)। |
WALKING | হাঁটার দিকনির্দেশের সাথে সম্পর্কিত ভ্রমণ মোড। |
আনলোডিং নীতি
একটি যানবাহন কিভাবে আনলোড করা যেতে পারে তার নীতি। শুধুমাত্র একটি পিকআপ এবং একটি ডেলিভারি উভয়ই চালানের ক্ষেত্রে প্রযোজ্য৷
অন্যান্য চালানগুলি unloading_policy
ছাড়া রুটের যে কোনও জায়গায় বিনামূল্যে হতে পারে৷
এনামস | |
---|---|
UNLOADING_POLICY_UNSPECIFIED | অনির্দিষ্ট আনলোডিং নীতি; ডেলিভারি শুধুমাত্র তাদের সংশ্লিষ্ট পিক আপ পরে ঘটতে হবে. |
LAST_IN_FIRST_OUT | ডেলিভারি পিকআপের বিপরীত ক্রমে ঘটতে হবে |
FIRST_IN_FIRST_OUT | ডেলিভারি পিকআপের মতো একই ক্রমে ঘটতে হবে |
ওয়েপয়েন্ট
একটি ওয়েপয়েন্ট এনক্যাপসুলেট করে। ওয়েপয়েন্টগুলি ভিজিট রিকোয়েস্টের আগমন এবং প্রস্থানের অবস্থানগুলি এবং যানবাহনের শুরু এবং শেষের অবস্থানগুলি চিহ্নিত করে৷
ক্ষেত্র | |
---|---|
side_of_road | ঐচ্ছিক। ইঙ্গিত করে যে এই ওয়েপয়েন্টের অবস্থানটি রাস্তার একটি নির্দিষ্ট পাশে গাড়ি থামানোর জন্য একটি পছন্দকে বোঝানো হয়েছে৷ আপনি যখন এই মানটি সেট করবেন, তখন রুটটি লোকেশনের মধ্য দিয়ে যাবে যাতে গাড়িটি রাস্তার পাশে থামতে পারে যে অবস্থানটি রাস্তার মাঝখানের দিকে পক্ষপাতদুষ্ট। এই বিকল্পটি 'ওয়াকিং' ভ্রমণ মোডের জন্য কাজ করে না। |
ইউনিয়ন ক্ষেত্রের location_type । একটি অবস্থান প্রতিনিধিত্ব করার বিভিন্ন উপায়. location_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: | |
location | একটি ঐচ্ছিক শিরোনাম সহ ভৌগলিক স্থানাঙ্ক ব্যবহার করে নির্দিষ্ট করা একটি বিন্দু৷ |
place_id | ওয়েপয়েন্টের সাথে যুক্ত POI প্লেস আইডি। |