문제

후기 기대할 수 있게 도와 함께 설계하는 알고리즘을 고려 했습니다 잠시 동안 지금 무엇인지에 접근하(VRPTW 또는 리소스 일정 또는 완전히 다른 것!?)

을 넣어는 실제 단어를 들어,우리는 많은 정원의 폐기물에 소수의 지역(일반적으로 5).폐기야는 모든 전송하는 다른 위치에서 주어진 시간에 프레임이 있습니다.이동든 폐기물을 우리가 트레일러,해야 하는 견인에 의해 자동차입니다.원 낭비할 수 있습 삭제만에서는 폐기물 저장소에서 특정 시간(시간 윈도우).일부 사이트에서 우리가 떨어뜨릴 수 있는 트레일러 가득 차 있거나 비운 사람들이 거기에 있지만,다른 위치에서 자동차의 운전자는 자신이 그것을 할 및 차량 유지해야합니다.모든 타이밍 계산할 수 있다(i.e로딩/언 로딩 시간,전송 시간 etc.).자동차 이동할 수 있는 사지 않고 사이트 트레일러,트레일러 견인할 수 있습러 트레일러는 이동할 수 없습니다 자신을 보실 수 있습니다.

우리의 목표는 모든 트레일러의 부 폐기물을 수송하는 동안

  • 을 최소화 번호의 트레일러 및 자동차에 사용
  • 회의 모든 시간 창세 폐
  • "균형"트레일러–즉에서 하루의 끝이기 때문에 우리가 가지고 있는 많은 트레일러에서 각각의 위치에 있었는 시작에서의 하루

나는 생각으로 이것에 접근하는 리소스 스케줄링 알고리즘을 하지만 나는 어떻게 처리할지 모르겠다"균형"의 트레일러입니다.

다른 하나의 방법으로 간주되었을 고려하는 자동차 처음이다.수를 선택한 다음의 최초의 작업과 건축의 그래프 가능한 모든 작업합니다.는 경우 다음으로 가장 긴 경로를 통해 그래프는 서비스의 최대 개수를 예고편이 로드됩니다.이때 제거는 이러한 작업의 목록에서 작업하고 반복될 때까지 모든 작업을 했습니다.나는 다음을 실행해야 이러한 목록의 트레일러드하는 작업을 수의 트레일러는 필요합니다.

어떤 생각으로 접근하는 것에 감사드립니다!

도움이 되었습니까?

해결책

나는 지리산겠다고들을 휴리스틱하는 알고리즘을 얻을 합리적으로 가까이 가진 수락가능한 솔루션을 신속하고 다음 정제입니다.

데에서 근무하기 전에 회사는 납품 라우팅 소프트웨어 그리고 방법들을 사용하여 유전자 알고리즘을 해결하는 매우 비슷하지만 훨씬 큰 규모로,문제입니다.가 보기 익숙하지 않은 경우으로 접근 방식이다.에서 해당 사이트:

  1. [시작]성 인구의 n 염색체(적합한 솔루션에 대한 문제)
  2. [스]평가 피트니스 f(x)의 각 염색체 x 에서 인구
  3. [새로운 인구]를 만드는 새로운 인구를 반복하여 다음과 같은 단계까지 인구가 완료

    [선택]두 개를 선택 상위 염색체 인구에서에 따라 피트니스(더 나은 피트니스,더 큰 기회를 선택 가능)

    [크로스오버]을 가진 크로스 오버 확률이 십자가를 통해 부모님을 형성하는 새로운 자손(어린이).지 않으면 크로스 오버가 수행,자식의 정확한 복사본 부모입니다.

    [돌연변이]돌연변이와 확률 변 새로운 자식에서 각각의 궤적(에 위치한 염색체).

    [허]장소에 새로운 자손에 새로운 인구

  4. [대체]사용하여 새로운 생성구에 대해 더 알고리즘 실행
  5. [테스트]이 종료하는 경우에는 조건을 충족 중지에 돌아와 최고의 솔루션에 현재 인구
  6. [루프]2 단계로 이동

트릭 이것은 인코딩을 귀하의 제약으로"염색체를"쓰기"피트니스"기능이 있습니다.피트니스 기능을 입력의 결과 잠재적인 솔루션과 침 밖의 점수를 얼마나 좋은 해결책이나 그것을 밖으로 던지는 경우 위의 제약 조건이 있습니다.

으로 언급에 의해 지리산의 장점 이 솔루션을 제공한다는 것으로 실행할 수 있습니다,하지만 아마 최고,매우 신속하게 응답하고 더 이상 당신이 그것을 실행하는,더 나은 솔루션을 가져옵니다.

다른 팁

우리는 이야기 NP 완전한 알고리즘을 확실히 여기에 넘어서는,몇번의 자동차 및 트레일러에 이은지 작업이 될 어디에 당신을 얻을 것이 최고의 솔루션을 가능한 모든 솔루션을 버리고 이동을 방지하기 위해 다시 가장 긴 경로에 당신이 제안한다.는 경우에 당신을 디자인하는 알고리즘에서는 방법으로,매우 가능성이 그 어느 날을 추가하는 좀 더 자동차 및 트레일러 및 그것은 결코 마무리 컴퓨팅 솔루션입니다.

당신은 아마와 함께 가고 싶은 알고리즘을 수 있는 합리적으로 빠르게 생성하는 충분히 좋은 해결책의 문제입니다.을 만드시는 메트릭에 대한 품질의 솔루션을 얻을,당신은 좋은 방법이의 값을 추정하는 메트릭에 대한 이상적인 솔루션을 설정한 다음에,자신에게 어떤%이내에는 당신처럼 당신의 솔루션을에서있는 이상적인 솔루션과 단순히 첫 솔루션은 측정 범위 내에서.이의 혜택을 추가하는 경우 이 알고리즘은 너무 길어서 계산하고 당신은 중단,당신은 여전히 사용할 수 있는 솔루션과 함께 가장 낮은 계산된 측정하는 경우에도,그것은에서 예상되는 범위.

나는 확실하지 않다면 어떤 방법을 문제를 해결 자체 하지만입니다.는 것이 좋습니다 것입니다 몇 가지 기사를 읽은 후에서 검색 acm portal.나는 가정 UPS and Fedex 아마도 유사한 문제를 추가하는 경우 그들로 키워드 검색이 구글에서,당신이 얻을 수있는 몇 가지 더 유용한 결과입니다.

I 과 함께 동의하는 경향이있다.이처럼 들리는 정말 좋은 후보에 대한 진화론적 최적화 기법과 같은 유전자 알고리즘을 구현하는 그는 설명합니다.

내가 또한 매우 좋은 성공에 대한 특정 문제 입자와 떼 최적화(PSO).기본적으로,당신은 생각할 수 있는 각각의 게놈으로 입자의 일부에서 다중 차원 공간입니다.의 좌표를 입자의 파라미터를 계산(피트니스 기능).각각 입자의 시작으로 무작위로 임의의 속도합니다.각 반복 시뮬레이션,당신 업데이트 각각의 위치 입자재 여행 벡터,그리고 당신은 추가 구성 요소의 다른 벡터처럼:방향을 최상의 입자를 지금까지의 방향을 최상의 입자로,방향으로는 로컬 그룹의 최고 등등...

그것은 보일 수 있습니다 처음 발굴을 구현하 GA 또는 PSO 하지만 난 당신이 그것이 쉽게 작성하는 작은 프레임워크를 발췌하는 알고리즘(GA/PSO)에서 실제 문제를 하려는 도메인을 최적화할 수 있습니다.당신은 항상 다시 위키피디아의 세부 사항에 대한 알고리즘이 있습니다.

면 나는 프레임워크,일반적으로 시작으로 2 개의 매개변수 문제를(아마의 단순화 문제,또는 X,Y 위치한 이미지),그래서 쉽게 확인할 수 있게 되었습니다 시각화 및 조정 알고리즘을 얻을 수 있도록 좋은 진을 치고합니다.그때 나는 규모를 확대하여 더 많은 크기입니다.

나는 다음과 같이 접근 할 수 있기 때문에 나에게 최적화된 문제에 대한 오히려 복잡하고 복잡한 부분을 실제 문제 문(과 같은 자동차 및 트레일러).

또한,왜 진화하는 기술은 매력적인할 수 있기 때문입니다 바칠 일정 부분의 시간을 시뮬레이션 및 최상의 답 그래서 멀리 할 때 당신이 결정을 중지합니다.

내 경험에 의하면,당신을하는 경향이 많은 시간을 조정 매개변수를 GA 또는 PSO(일단 당신이 구현한)를 작성 하드 코딩된 휴리스틱하지만,솔루션의 혜택을 변경하는 것이 전략에 대한 해결책을 찾는 일반적으로 필요한 매개 변수만 변경하거나 교환이 아주 잘 정의된 알고리즘과 다른 구현,반대로 코딩이 완전히 다른 전략이 문제를 해결하기 위해 스스로 처음부터.

제게 소리가 필요한 경우 디자인하는 방법에 대한 지침의 일반적인 프레임워크에 대한 두 개의 알고리즘이 있습니다.나는 지적해야합니다,당신이 얻는 몇 가지 좋은 무료로 제 3 자 프레임워크 아웃합니다.내가 가끔한 코드기 때문에 나는 내 자신의 모든 측면을 이해의 알고리즘은 다음과 내가 어디 있는가를 조정할 수 있는 전략이다.

일반적인 접근 방식:

이후 문제는 작은,내가는 접근 방식을 추가하는 자동차 및 트레일러를 얻을 때까지 가능한 솔루션이 아닌 최소화하려고 노력하고 자동차 및 트레일러입니다.

해:

나는 더 적은 성공에 가스의 제약 조건이 적고 성공에 가스의 제약 조건에 정수 변수(예를들면수의 트레일러 위치에서).그것이 될 수 있는 제약 조건을 프로그래밍을 더 나은 방식 때문에 당신은 단지를 생성하려고 가능한 솔루션을 위해 주어진 숫자의 자동차 및 트레일러보다는 최소화하려고 노력하고 거리로 여행했다.

관찰

당신이 문제를 해결하는 네트워크에서는 마지막으로 이동될 수 있습을 재배치하는 빈도하고 있다.

행운을 빕니다!

현지 검색 는 대신 유전 알고리즘이 있습니다.에 국제 어..결승 경쟁 2007, 현지 검색 알고리즘(와 같은 금기의 검색 및 simulated annealing)명확하게 이겼 유전자 알고리즘 항목(1~4 위한 LS 비 5 장에는 트랙 1 에 대한 경쟁 80IIRC).

또한,살펴 라이브러리의 일부 밖에 등 OptaPlanner (금기 검색,Simulated Annealing,늦게 수락,오픈 소스,java),JGap(유전자 알고리즘,오픈 소스,java),OpenTS(금기 검색,...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top