문제

가 설정 학교의 좌표가(S).나는 또한 집합 지역의 좌표 중심(N).

내가 얼마나 많은 아이들은 각 지역에,그리고 그들로 분류되거나 기본,중 또는 고등학교입니다.그래서,즉,

N = [(locationN1, primary:3, middle:10, high:4), (locationN2, primary:10, middle:17, high:7), ...]

내가 알고있는 방법을 많은 명소에서 사용할 수 있는 각 학교,형식으로 되:

S = [(locationS1, primary:20, middle:5, high:2), (locationS2, primary:12, middle:7, high:8), ...]

나의 목표가 일치하는 많은 학생들로 가능한 학교 내에서 특정 반경.그것은 가능하다(매우 가능성이 높)내 계산 일부 학생들이 학교이 덜합니다.

내가 원하는:를 식별하는 이웃이 있는 학교 미만 어린이와 어떻게 많습니다.

현재 내 계획:

  • 목록 모든 페어링 및 해당 사이의 거리 학교와 지역 내에서 반경
  • 기 위해 거리로부터 최상
  • 우선 순위에 따라 거리
  • 루프 인근에서 순서의 외관(각 지역 여러 번 나타날 수 있 연결해 주는 학교 내에서 정의 반경)
  • 을 채우 해당 학교에서 아이들과 지역
  • 제 촬영 명소 학교에서 용량
  • 다음으로 이동하는 지역 학교의 페어링,...

예를 들어:

  • 말를 받은 다음 주문하는:

    기 위해=[(neighborhood_2,school_7,distance1),(neighborhood_5,school_2,distance2),(neighborhood_2,school_2,distance3),(neighborhood_2,school_3,distance4)...]

그런 다음,school_7 을 받는 아이들에 neighborhood_2.지 모든 어린이에서 neighborhood_2 에서 찍은 수 있습에서 school_7.

그런 다음,school_2 받은 학생들에서 neighborhood_5.지금 가정 school_2 전체 중학교에 대한 용량입니다.

그런 다음,neighborhood_2 여전히있는 학생들 파견,그래서를 보내려고 그들을 school_2.기본 및 고등학교,문제 없습니다,그들은 지금 모든 전달됩니다.하지만 중학교가 가득 찼습니다.

그런 다음 우리는 다음에 이동 페어링 및 school_3 져 나머지는 중학교에서 학생들 neighborhood_2.한 경우에는 distance4 했다 보다 높은 제한이 반경이 중학교 학생들로 분류 된 것교-이하지 않기 때문에 다른 쌍을 사용할 수 있습니다.

는 경우,또한 neighborhood_4 은 oit 의 제한이 반경에 대한 어떤 학교든 아이들은 고려 학교이 덜합니다.

1)나는 알고리즘 정확합니까?

2)의 이름은 무엇이 문제인가?가 많은 많은 포인트 매칭,capacitated 할당 문제 또는"유효"일부 시설의 위치 문제이지만,이는 특정 변종에 대한 몇 가지 이유(아마도 가난한 검색 기술)

3)나는 어떻게 효율적이거나,그것은 매우 합리적 이 방법은?(효율은 나의 주요 관심사,그러나 쉽게 수정사항을 환영합니다)

4)나 외에 다른 옵션 거리 분류?기술적으로,나의 케이스에서,거리가 훨씬 중요하지 않 우선 순위를 부여하기 위해,그것의 더 많은 무작위(또는 말 박람회)할당으로 예를 들면 시간의 받은 응용 프로그램(unknown)데이터.그래서 나는 방법이 표시 가능성이 100%를 할당을 위한 근처에 매우 가까운 학교 amd 무리의 학교-미만 어린이에 farrher 지역,아직되지 않을 수 있습(지)진정한 실제 생활에서.

도움이 되었습니까?

해결책

이 표현할 수 있습의 문제로 찾기 최대치로서 양자 그래프:각각의 아이가 하나 왼쪽에 꼭지점,각 슬롯 학교에서 올바른 정점,그리고 거기 가장자리를 사이에 두 개의 정점을 경우 그들이 일치할 수 있습니다.

귀하의 경우에,당신이 그것을 해결할 수 있다 더 효율적으로 사용 최대 흐름.게 작업을 세부 사항입니다.

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