2010-07-15 1 views
2

장애 아동 교통을위한 버스 경로 계획 (그리고 최적의로드)을위한 소프트웨어를 만들고 싶습니다.로드 균형을 조정하고 버스 경로를 결정하는 알고리즘/로직

이 버스는 다음과 같은 사양이 있습니다

  • 미터 석 (최대 7 - 드라이버와 지원이있는 한)
  • 고정 (최대 4) 휠 의자
  • O "좌석" 최대 부하의 양 (오스트리아 : 9 또는 20 인, 예를 들어, 포드 통과 9] 예 20 벤즈 단거리..) 항로

사양 :

,691,363 (210)
  • 강요에 여행은 (안 버스) 아이 최적화를위한
  • 에 대한 짧은 2 시간 이상해야합니다 : 기관

예를 alt text http://img138.imageshack.us/img138/9528/basicload.png

를 혼합하는 것이 최적 일 수있다

최적 경로 1이 될 것이다 :

  • 6, 1, 7, 그룹 (2, 3, 4, 5) insitute A (1 출구, 2, 3, 4, 5, 6), 8, 9, B 조사원 (7, 8, 9 퇴장) 또는
  • 1, 7,6, 그룹 (2, 3, 4, 5) 3, 4, 5, 6), 8, 9, B 조사원 (7, 8, 9 퇴장) 또는
  • 7, 1, 6 그룹 (2, 3, 4, 5) 도로 일명 (특정 도로에 따라 7 1, 2, 3, 4, 5, 6), 8, 9, insitute B (출구, 8, 9) 또는
  • ...

삼각형 1-6-3 및 7-1-6의 거리)

이것은 간단한 예입니다. 휠체어를 옮길 때 더 복잡합니다.

편집 :
참고 : 9 명 이상 아이들이 있기 때문에 2 개 이상의 instutes이있다. 이것은 단지 예를 드리기위한 것입니다. 현실 세계에는 600 명의 어린이와 20 개의 기관이 있습니다 ...

어떤 데이터가 필요합니까?
좌표, 거리 사이의 거리 (거리, 거리 거리가 아닌), "좌석 사용"(좌석 또는 휠체어) 유형, 어떻게 든 도로 사양 (거리로 인해 사용되지 않을 수 있음)

아무도 아이디어, 알고리즘, 논리, 피드백 (무료! 장애가있는 어린이 교통 수단이 기업 비즈니스가 아님) 소프트웨어를 사용하여 데이터 (예 : 좌표, 거리 등)를 얻을 수 있습니다.).

오, 나는 반드시 말해야합니다. 나는 소프트웨어 공학을 전공 한 사람이 아니기 때문에 어쨌든 문학 작품을 읽는 것이 힘들지만 손을 더럽힐 의사가 있습니다!

+0

제약 조건을 공식적으로 설명하는 것이 좋습니다. 두 아이 중 한 아이에게 아이를 가져다 주어야합니까? 필요한 데이터는 보유하고있는 제약 조건에 달려 있습니다. 일단 모든 제약 조건을 공식화하면 최적화 도구를 사용하여 문제를 해결할 수 있습니다. – Mau

+0

님이 쪽지를 추가했습니다! ... –

답변

2

글쎄, 이것은 실제로 내가 살기 위해하는 일입니다. 기본적으로 MiP를 사용하여 열 생성 및 경로 모델을 사용하여이 문제를 해결합니다.문제가 아주 작다는 것을 알면 합리적인 결과로보다 단순한 에지 흐름 모델을 사용할 수 있다고 생각합니다. 그러면 열 생성을 수행하는 시간을 절약 할 수 있습니다. 이는 상당한 작업입니다. 나는 루트 자체를 생성하는 것에 대해 생각하기 전에 라우트로부터 주어진 플로우를 계산하여 시작하는 것이 좋습니다. 사실, 라우팅 계산기와 이중 비용을 가이드로 사용하여 "손으로"간단히 수행 할 것입니다.

특히, 각 픽업 지점과 배달 지점이 노드이고 각 버스 경로가 연결된 노트 세트 인 그래프를 만들어야합니다. 적절하게 연결하십시오. 이것은 쓰기보다 그리기 쉽습니다. :) 그런 다음 흐름을 모델링하고 흐름을 버스의 compacity로 제한하는 LP 시스템을 만들고 모든 승객이 배달되거나 수행하지 않도록 많은 비용을 지불하도록 요구하는 LP 시스템을 만드십시오. 그래서.

일단 완료되면 각 경로에 대한 부울 변수를 만들고이를 용량과 곱하십시오. 버스 경로를 켜고 끌 수 있습니다.

필요에 따라 세부 정보를 요청하십시오. 위 내용은 대략적인 개요입니다.

편집 :

좋아, 응답을 읽고, 나는 그게 내가 제안하는 방식으로이 문제를 해결하기 위해 말을 생각, 당신은 적어도 선형 프로그래밍 및 그래프 이론에 대한 지식이 필요합니다. 그리고 네,이 문제는 입니다. 하드 ... 너무 힘들어서 현재 컴퓨터 기술을 사용하는 아주 작은 시스템을 제외하고는 해결할 수 없다고 생각합니다. 이 사실을 보면 입니다. 나는 그것이 가능할 것이라고 생각하며, 우리 회사에 도움을 요청하는 것을 매우 환영합니다 ([email protected]). 그러나 최적화에 대한 전문적인 지원은 정확하지 않습니다.

그러나 모두 손실되지 않습니다! 결과가 그렇게 좋지는 않지만 간단한 방법이 있습니다. 모델을 만들 수 없으면 시뮬레이트하십시오! 버스 노선, 승객 등을 통해 승객들이 버스 노선을 따라 이동하는 방법을 보여주는 시뮬레이션을 작성하십시오. 사용하는 각 버스의 비용이 무언가이며, 킬로미터 당 비용이 들며, 운송되지 않은 승객은 비용이 많이 든다. 그런 다음 결과를보고 경로를 변경하고 얻을 수있는 최상의 (가장 저렴한) 솔루션으로 작업하십시오. 그것은 아마도 나쁜 해결책이 아닙니다.

위의 문제에 대한 해결책을 처음부터 생성하는 프로그램을 만드는 것은 LP + MiP + 그래프 이론에 정통하지 않은 사람에게 적합한 기업이 아닙니다. 그러나 아마 그것을 덜 할 수 있을까요?

나는 다음 주 정도 휴가를 가질 예정입니다.

+0

wooow ... 나는 당신만큼이나 이론적 인 사람은 아니지만, 헤이 :) 당신은 아이를 위해서라면 ... sry! –

+0

여기에는 소수의 사람들이 최적화에 정통합니다. – Mau

+0

약 1 년 동안 [MiP] (http://en.wikipedia.org/wiki/Linear_program#Integer_unknowns)를했는데 무슨 소릴하는 지 모르겠다 ... @ Andreas : 대부분의 스케줄링 문제는 효율적으로 해결; 그러나 모든 합당한 스케쥴링 문제는 선형 정수 프로그래밍 문제로 기술 할 수있다. 이 작업을 수행 할 수 있다면 많은 선형 정수 프로그래밍 솔버 (wiki 페이지 참조)가 있으므로 합리적인 견적을 신속하게 제공 할 수 있습니다. –

관련 문제