복잡한 작업 일정 모델링


9

대표하고 자동화하려는 실제 문제가 있습니다. 나는 그것을 다음과 같이 단순화하고 추상화했다.

  • n 개의 작업 장소가 있습니다 (P1, P2, ..., Pn).
  • 각 장소, Pn에는 열쇠 Kn이 있습니다.
  • 노동자는 m 명 (W1, W2, ..., Wm)입니다.
  • Pn에서 일하기 위해서는 근로자가 Kn을 유지해야합니다.
  • 각 키는 작업자가 보유하거나 E, Exchange에 남아있을 수 있습니다.
  • 작업자는 언제든지 Exchange를 방문하여 청구되지 않은 키를 가져 오거나 다른 키를 사용하여 다른 키를 사용할 수 있습니다.

  • 이제 엄격한 순서로 완료해야하는 외생 작업 일정이 있습니다. 예를 들면 다음과 같습니다.

    • 2016-04-21 W1은 P6에서 작동해야합니다
    • 2016-04-21 W2는 P3에서 작동해야합니다
    • ** 키 교환 필요 **
    • 2016-04-22 W3는 P3에서 작동해야합니다
    • 2016-04-22 W2는 P6에서 작동해야합니다
  • 같은 날은 아니지만 일정 수의 일정 시점에 Pn에서 일해야하는 근로자 수

우린 알아:

  • 작업자 또는 E에서 모든 키의 시작 위치
  • 각 근로자가 이행해야 할 향후 작업 지시

그래서 저는이 전체 상황을 모델링하는 데 어려움을 겪고 있습니다. 파악하고 각 작업자의 교환에 대한 여행을 최적화하기 위해 살펴 봐야 할 데이터 구조 및 알고리즘을 제안 할 수 있습니까?

내가 최소화하고 싶은 것은 E 로의 총 여행 횟수입니다. 두 번째 목표는 근로자가 불균형 한 횟수의 여행을하지 않도록하는 것입니다.

미리 감사드립니다 !!


2
작업 자당 E까지의 평균 여행 횟수 = "총 여행 횟수"/ m. m이 일정하다면 두 목표는 같은 목표입니다. 더 흥미로운 : 각 작업자가 동시에 둘 이상의 키를 휴대 할 수 있다고 생각합니까?
Doc Brown

그렇습니다. 작업자는 여러 개의 열쇠를 가지고 다닐 수 있습니다. "평균"에 관해서는, 나는 나 자신을 잘못 표현했다고 생각합니다. 나는 공정성에 대해 더 많이 생각하고 있었는데, 어떤 작업자도 불균형적인 수의 여행을 완료해야하므로 분산이 적습니다. (일치하도록 편집 된 질문)
Gareth Lloyd

근로자들은 분명히 열쇠를 신뢰하고 교환이 필요하지 않는 한 밤새 그리고 필요한만큼 키를 보관할 수 있기 때문에 각 근로자가 영구적으로 보관하는 열쇠 세트를 만들어 보지 않겠습니까? 또는 주어진 시간 (예 : 일주일) 동안가는 모든 장소에 대해 각 근로자에 ​​대해 일련의 키를 만듭니다. 모든 작업자에 대해 일주일을 설정하는 데 필요한만큼 키가 복제됩니다. 모든 근로자는 일주일에 한 번 열쇠를 교환합니다.
radarbob

거래소에가는 데 비용 (돈 또는 시간)이 있습니까?
Dan Pichelman

그렇습니다. 교환소로의 더 많은 여행은 더 나쁜 결과입니다.
Gareth Lloyd

답변:


1

문제는 하나의 핵심 요점에서 조금 모호합니다. 우리가 해결하려는 요소는 무엇입니까? 리소스 위임 순서를 최적화하고 있습니까? 거래소 여행을 최소화 하시겠습니까? 작업 주문 처리량을 극대화 하시겠습니까?

그런 점을 염두에두고, 우리는 이러한 것들을 혼합하여 해답을 상당히 높게 유지할 수 있다고 가정 할 것입니다.

내 생각에 가장 먼저 오는 것은 이것이 해결하려는 상호 관련 문제가 대부분 종속성 관리를 중심으로한다는 것입니다. 작업자, 키 및 위치는 작업 작업을 완료하기 위해 해결해야하는 종속성으로 생각할 수 있습니다.

이것을 다음 단계로 가져 가서 토폴로지 정렬 ( https://en.wikipedia.org/wiki/Topological_sorting ) 의 적응을 살펴 보겠습니다 . 문제 공간을 큰 그래프로 모델링 한 다음 (현대 그래프 데이터베이스는이 분석의 일부에 적합한 매체 일 수 있음) 다양한 위상 정렬을 사용하여 문제 공간의 다양한 측면을 해결하십시오.

약간의 접선에서 이것은 정말 재미있는 프로젝트처럼 들립니다. 오늘은 부럽습니다.


내 github에서 그래프를 살펴보십시오 github.com/MatheusArleson/Graphs
linuxunil

이 상황에서 채색 알고리즘이 도움이됩니까? en.m.wikipedia.org/wiki/Graph_coloring
linuxunil
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.