여러 레스토랑 (예 : 20)의 음식 배달을 가정 해 봅시다. 사용할 수있는 드라이버는 10 개입니다. 또한이 레스토랑에서 집으로 음식을 배달하기 위해 4 시간 동안 100 번 주문을한다고 가정 해 봅니다.픽업 및 배달 문제 알고리즘 도움말
운전자는 한 장소에서 식품을 집으로 가져와 집에서 고객에게 배달해야합니다.
기본 목표는 배달까지의 시간, 즉 집에서의 주문과 도착 사이의 시간을 최소화하는 것입니다. 보조 목표는 운전자 역량 (즉, 모든 주문을 전달하는 데 소요되는 시간)을 최대화하는 것입니다.
주문한 시간이 4 시간 이상이므로 균등하게 말하십시오. 즉 3 분이 1입니다. 또한 주문이 20 개의 레스토랑에 무작위로 있다고 가정 해 보겠습니다.
어떤 위치에서 목적지까지 이동하는 시간을 계산할 수 있다고 가정합니다.
나는 모든 드라이버의 위치를 실시간으로 알고 있습니다. 나는 또한 그들의 상태를 알고 있습니다. 즉, 현재 그들이 (알려진 목적지까지 데려가는) 주문을 받고, 이미 주문을 받고 이미 알고있는 목적지로 경로를 옮기고 있습니까?
제약 조건은 다음과 같습니다 1) 지정된 시간 이후에 주문을 선택해야합니다 레스토랑 (즉, 식사 준비 시간) 2) (45 분 아래에 던져 그렇지 않으면 경고 순서를 제공해야합니다)와 3)에서 꼭 패드 시간 " x "분만 수거 순서에 저장하는 데 걸리는 시간을 수용 할 수 있습니다. 4) 고객에게 주문을 배달하고 지불금을 수령하는 데 소요 된 시간을 수용하기 위해"y "분으로 시간을 채워야합니다. 5) 드라이버에는 지정된 결제 수단 (예 : 현금, Visa, Amex, MasterCard) 만 있습니다. 고객 요청 (현금, 비자 등)과 운전자의 능력 (현금, 비자, amex 등)을 일치시켜야합니다.
예를 들어 목적지가 가깝고 픽업 위치가 가까운 두 개의 주문이있는 경우 다른 "무료"드라이버 (아무 것도하지 않음)가 있어도 동일한 드라이버를 사용하여보다 효율적으로 픽업 할 수 있습니다 두 명령 모두를 전달하고 두 명령 모두를 전달합니다.
각 레스토랑마다 배달 지역이 적용된다고 가정 할 수 있습니다. 즉, 대부분의 레스토랑에서 주문하는 사람들이 거의 비슷할 것입니다. 따라서이 알고리즘은 운전자를 도시 구역으로 자동 구분하고 이미 구역 내의 운전자를 선호해야합니다.
감사합니다. 당신은 짐승이 작은 사건, 예를 들어 5 명의 운전자를 위해 강제로 일할 것이라고 생각합니까? 나는 파이썬에 좋은 것을 찾고 있었다. 나는 오메가를 발견했다. 파이썬에 대한 다른 제안이 있습니까? – pmah