KR102615117B1 - 이중 티어 외판원 문제에 대한 최적화 방법 - Google Patents

이중 티어 외판원 문제에 대한 최적화 방법 Download PDF

Info

Publication number
KR102615117B1
KR102615117B1 KR1020210043246A KR20210043246A KR102615117B1 KR 102615117 B1 KR102615117 B1 KR 102615117B1 KR 1020210043246 A KR1020210043246 A KR 1020210043246A KR 20210043246 A KR20210043246 A KR 20210043246A KR 102615117 B1 KR102615117 B1 KR 102615117B1
Authority
KR
South Korea
Prior art keywords
solution
vertices
calculating
traveling salesman
salesman problem
Prior art date
Application number
KR1020210043246A
Other languages
English (en)
Other versions
KR20220137325A (ko
Inventor
안형찬
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020210043246A priority Critical patent/KR102615117B1/ko
Publication of KR20220137325A publication Critical patent/KR20220137325A/ko
Application granted granted Critical
Publication of KR102615117B1 publication Critical patent/KR102615117B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 실시예들은 일부 지점을 방문하고 시작점에 복귀한 후 나머지 지점을 방문하는 이중 티어 외판원 문제에 대해서 초기해를 조작하여 최적화 과정을 거치는 방식을 통해 수행시간을 단축하면서도 상대적으로 저렴한 비용의 해를 찾을 수 있는 최적화 방법을 제공한다.

Description

이중 티어 외판원 문제에 대한 최적화 방법 {OPTIMIZATION METHODS FOR TWO-TIERED TRAVELING SALESMAN PROBLEM}
본 발명이 속하는 기술 분야는 이중 티어 외판원 문제에 대한 최적화 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
외판원 문제는 잘 알려진 최적화 문제로, 점들의 집합 V와 이들 간의 거리가 주어질 때 모든 점을 단 한 번씩 방문한 후 시작점으로 돌아오되 전체 이동거리를 최소화하는 문제이다. 보통은 이 문제에서 시작점을 지정하여도 의미가 없으므로 지정하지 않지만, 여기에서는 시작점 s ∈ V를 지정하기로 한다. 많은 경우 이 문제는 삼각부등식이 성립하는 경우에 대하여 고려하게 된다.
이중 티어 외판원 문제는 추가된 입력으로 다음이 주어진다. 정점의 부분집합 F ⊆ V, 각 정점 v ∈ V의 가중치 tv (단, ts := 0), 한계치 T. 출력으로는 s에서 시작해서 일부 정점을 방문하고 시작점 s로 돌아온 후, 다시 다른 정점들을 방문하고 s로 돌아오는 방법을 출력한다. 여전히 (s를 제외한) 모든 정점은 단 한 번 방문하되, F에 속한 모든 정점은 중간에 s에 돌아오기 이전에 모두 방문하여야 한다. 중간에 s에 돌아오기 전까지 지나온 거리의 합과 지나온 정점들의 가중치의 합은 모두 합해 T를 넘을 수 없다. 이러한 경로들 중 전체 경로의 길이를 최소화하는 경로를 찾는 것이 바로 이중 티어 외판원 문제이다.
한국공개특허공보 제10-2020-0132489호 (2020.11.25)
본 발명의 실시예들은 일부 지점을 방문하고 시작점에 복귀한 후 나머지 지점을 방문하는 이중 티어 외판원 문제에 대해서 초기해를 조작하여 최적화 과정을 거치는 방식을 통해 수행시간을 단축하면서도 상대적으로 저렴한 비용의 해를 찾는 데 주된 목적이 있다.
본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.
본 실시예의 일 측면에 의하면 최적화 장치에 의한 이중 티어 외판원 문제에 대한 최적화 방법에 있어서, 정점의 전체집합 및 시작점을 입력받는 단계; 상기 정점의 부분집합, 상기 정점의 가중치, 및 한계치를 입력받는 단계; 상기 정점의 부분집합을 방문하고 차집합을 방문하는 초기해를 산출하는 단계; 및 상기 초기해를 조작하여 최적화된 해를 산출하는 단계를 포함하는 이중 티어 외판원 문제에 대한 최적화 방법을 제공한다.
상기 초기해를 산출하는 단계는, 상기 정점의 부분집합에 대한 해의 전반을 산출하는 단계; 및 상기 차집합에 대한 해의 후반을 산출하는 단계를 포함할 수 있다.
상기 차집합에 대한 해의 후반을 산출하는 단계는, (i) 상기 차집합에 속하는 정점만을 대상으로 외판원 문제의 해를 산출하거나 (ii) 상기 정점의 전체집합을 대상으로 외판원 문제의 해를 산출한 후 상기 정점의 부분집합을 생략(shortcutting)할 수 있다.
상기 최적화된 해를 산출하는 단계는, 상기 해의 후반에서 한 정점을 생략하고 생략한 정점을 상기 해의 전반으로 이동하거나 삽입할 수 있다.
상기 최적화된 해를 산출하는 단계는, 상기 한계치를 위배하지 않는 조작에 대해서 상기 조작으로 인한 해의 전체 이동거리에 대한 개선분을, 상기 해의 전반의 총 이동거리 및 상기 해의 전반의 정점 가중치의 합을 합친 값의 증가분으로 나눈 것이 최대화되는 조작을 반복 수행하며, 해의 전체 이동거리를 개선하는 조작이 더 이상 없으면 중단할 수 있다.
상기 최적화된 해를 산출하는 단계는, 상기 해의 전반에 방문하는 정점을 대상으로 외판원 문제를 다시 풀고, 새롭게 얻어진 해가 원래 해의 전반보다 우수하면 상기 해의 전반을 교체할 수 있다.
상기 최적화된 해를 산출하는 단계는, 상기 해의 후반에 방문하는 정점을 대상으로 외판원 문제를 다시 풀고, 새롭게 얻어진 해가 원래 해의 후반보다 우수하면 상기 해의 후반을 교체할 수 있다.
이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 일부 지점을 방문하고 시작점에 복귀한 후 나머지 지점을 방문하는 이중 티어 외판원 문제에 대해서 초기해를 조작하여 최적화 과정을 거치는 방식을 통해 수행시간을 단축하면서도 상대적으로 저렴한 비용의 해를 찾을 수 있는 효과가 있다.
여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.
도 1은 본 발명의 일 실시예에 따른 최적화 장치를 예시한 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 이중 티어 외판원 문제에 대한 최적화 방법을 예시한 흐름도이다.
이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.
이중 티어 외판원 문제는 고전적인 외판원 문제에서 일부 정점이 "높은 우선순위"를 가지고 일정 시간 T 내에 서비스되어야 하는 경우에 적용할 수 있는 최적화 문제이다. 예컨대 택배 배달에서 부패하기 쉬운 물품은 배달 시작 후 T 시간 내에 배달하여야 하고, 이동시간 외에도 각 지점 v ∈ V에서의 배달은 tv 시간이 추가로 소요되는 경우, 먼저 부패하기 쉬운 물품과 더불어 일부 일반 물품을 함께 배달을 마치고 물류 창고로 귀환한 후 다시 한 번 나머지 물품의 배달을 할 때에 전체 이동 소요 시간을 최소화하는 문제가 이중 티어 외판원 문제로 표현될 수 있다.
이중 티어 외판원 문제는 외판원 문제의 일반화이므로 NP-난해하다. 본 실시예에 따른 최적화 장치는 초기해를 조작하여 최적화 과정을 거치는 방식을 통해 수행시간을 단축하면서도 상대적으로 저렴한 비용의 해를 찾는 알고리즘을 수행한다.
도 1은 본 발명의 일 실시예에 따른 최적화 장치를 예시한 블록도이다.
최적화 장치(110)는 적어도 하나의 프로세서(120), 컴퓨터 판독 가능한 저장매체(130) 및 통신 버스(170)를 포함한다.
프로세서(120)는 최적화 장치(110)로 동작하도록 제어할 수 있다. 예컨대, 프로세서(120)는 컴퓨터 판독 가능한 저장 매체(130)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(120)에 의해 실행되는 경우 최적화 장치(110)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능한 저장 매체(130)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보는 입출력 인터페이스(150)나 통신 인터페이스(160)를 통해서도 주어질 수 있다. 컴퓨터 판독 가능한 저장 매체(130)에 저장된 프로그램(140)은 프로세서(120)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능한 저장 매체(130)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 최적화 장치(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(170)는 프로세서(120), 컴퓨터 판독 가능한 저장 매체(130)를 포함하여 최적화 장치(110)의 다른 다양한 컴포넌트들을 상호 연결한다.
최적화 장치(110)는 또한 하나 이상의 입출력 장치를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(150) 및 하나 이상의 통신 인터페이스(160)를 포함할 수 있다. 입출력 인터페이스(150) 및 통신 인터페이스(160)는 통신 버스(170)에 연결된다. 입출력 장치(미도시)는 입출력 인터페이스(150)를 통해 최적화 장치(110)의 다른 컴포넌트들에 연결될 수 있다.
최적화 장치(110)가 수행하는 제1 알고리즘은 다음과 같다.
먼저 모든 정점을 구분하지 않고 외판원 문제를 푼다. (여기에는 기존에 알려진 알고리즘들 중 하나를 사용할 수 있다.) 이렇게 얻어진 해를 σ3라 칭한다.
다음으로는 V\F(차집합)에 대해서 외판원 문제를 푼다. 이렇게 얻어진 해를 σ2라 칭한다.
앞에서 얻은 σ3에서 F에 속하는 정점들을 생략한다. 경로 상의 한 정점이 생략되면 그 앞 정점에서 출발해 생략된 정점을 거치지 않고 다음 정점으로 바로 이동하게 되는데, 이것을 이른바 단락(shortcutting)이라 하며, 삼각 부등식에 의해 해의 비용을 증가시키지 않는 변화임을 알 수 있다. 이렇게 얻은 (F에 대한) 해를 σ1이라 칭한다.
σ1에 따라 각 F를 방문한 후 연이어 σ2에 따라 나머지 정점을 방문하는 해를 "초기해"로 삼는다. 중간에 s를 다시 방문하기 전의 부분(σ1)을 해의 "전반", 이후 부분(σ2)을 해의 “후반”이라 칭한다.
해의 후반에서 한 정점을 생략하고, 이 정점이 원래 σ3에 나타나 있던 자리를 기준으로 해의 전반으로 옮기는 조작을 수행한다. 이러한 조작들 중 일부는 한계치 T에 대한 조건을 위배할 수 있는데, 이들을 제외한 나머지 조작들 중, 조작으로 인한 해의 전체 이동거리에 대한 개선분을 (해의 전반의 총 이동거리)+(해의 전반의 정점 가중치의 합)의 증가분으로 나눈 것이 최대화되는 조작을 수행한다. 이를 반복하되, 해의 전체 이동거리를 개선하는 조작이 더 이상 없으면 중단한다.
최적화 장치(110)가 수행하는 제2 알고리즘은 다음과 같다.
F에 속한 정점만을 대상으로 외판원 문제를 푼다. 이렇게 얻어진 해를 σ1이라 칭한다.
다음으로는 V\F(차집합)에 대해서 외판원 문제를 푼다. 이렇게 얻어진 해를 σ2라 칭한다.
σ1에 따라 각 F를 방문한 후 연이어 σ2에 따라 나머지 정점을 방문하는 해를 "초기해"로 삼는다. 중간에 s를 다시 방문하기 전의 부분(σ1)을 해의 "전반", 이후 부분(σ2)을 해의 “후반”이라 칭한다.
해의 후반에서 한 정점을 생략하고, 이 정점을 해의 전반에 삽입하는 조작을 수행한다. (삽입되는 위치는 모든 가능성을 전부 고려한다.) 이러한 조작들 중 일부는 한계치 T에 대한 조건을 위배할 수 있는데, 이들을 제외한 나머지 조작들 중, 조작으로 인한 해의 전체 이동거리에 대한 개선분을 (해의 전반의 총 이동거리)+(해의 전반의 정점 가중치의 합)의 증가분으로 나눈 것이 최대화되는 조작을 수행한다. 이를 반복하되, 해의 전체 이동거리를 개선하는 조작이 더 이상 없으면 중단한다.
최적화 장치(110)가 수행하는 제3 알고리즘은 다음과 같다.
제1 알고리즘이나 제2 알고리즘을 통하여 해를 얻는다.
해의 전반에 방문하는 정점들만을 대상으로 외판원 문제를 다시 푼다. 이렇게 얻어진 새로운 해가 원래 해의 전반보다 우수하면, 해의 전반을 교체한다.
해의 후반에 방문하는 정점들만을 대상으로 외판원 문제를 다시 푼다. 이렇게 얻어진 새로운 해가 원래 해의 후반보다 우수하면, 해의 후반을 교체한다
도 2는 본 발명의 다른 실시예에 따른 이중 티어 외판원 문제에 대한 최적화 방법을 예시한 흐름도이다. 이중 티어 외판원 문제에 대한 최적화 방법은 최적화 장치에 의해 수행될 수 있다.
단계 S10에서는 정점의 전체집합 및 시작점을 입력받는 단계를 수행한다.
단계 S20에서는 정점의 부분집합, 정점의 가중치, 및 한계치를 입력받는 단계를 수행한다.
단계 S30에서는 정점의 부분집합을 방문하고 차집합을 방문하는 초기해를 산출하는 단계를 수행한다.
단계 S40에서는 초기해를 조작하여 최적화된 해를 산출하는 단계를 수행한다.
초기해를 산출하는 단계(S30)는, 정점의 부분집합에 대한 해의 전반을 산출하는 단계, 및 차집합에 대한 해의 후반을 산출하는 단계를 포함할 수 있다.
차집합에 대한 해의 후반을 산출하는 단계는, (i) 차집합에 속하는 정점만을 대상으로 외판원 문제의 해를 산출하거나 (ii) 정점의 전체집합을 대상으로 외판원 문제의 해를 산출한 후 정점의 부분집합을 생략할 수 있다.
최적화된 해를 산출하는 단계(S40)는, 해의 후반에서 한 정점을 생략하고 생략한 정점을 해의 전반으로 이동하거나 삽입할 수 있다.
최적화된 해를 산출하는 단계(S40)는, 한계치를 위배하지 않는 조작에 대해서 조작으로 인한 해의 전체 이동거리에 대한 개선분을, 해의 전반의 총 이동거리 및 해의 전반의 정점 가중치의 합을 합친 값의 증가분으로 나눈 것이 최대화되는 조작을 반복 수행하며, 해의 전체 이동거리를 개선하는 조작이 더 이상 없으면 중단할 수 있다.
최적화된 해를 산출하는 단계(S40)는, 해의 전반에 방문하는 정점을 대상으로 외판원 문제를 다시 풀고, 새롭게 얻어진 해가 원래 해의 전반보다 우수하면 해의 전반을 교체할 수 있다.
최적화된 해를 산출하는 단계(S40)는, 해의 후반에 방문하는 정점을 대상으로 외판원 문제를 다시 풀고, 새롭게 얻어진 해가 원래 해의 후반보다 우수하면 해의 후반을 교체할 수 있다.
최적화 장치는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.
최적화 장치는 하드웨어적 요소가 마련된 컴퓨팅 디바이스 또는 서버에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 컴퓨팅 디바이스 또는 서버는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.
도 2에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 2에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.
본 실시예들에 따른 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있을 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (5)

  1. 적어도 하나의 프로세서를 포함하는 최적화 장치가 이중 티어 외판원 문제에 대한 최적화를 수행하는 방법에 있어서,
    상기 프로세서는,
    정점의 전체집합 및 시작점을 입력받는 단계;
    상기 정점의 부분집합, 상기 정점의 가중치, 및 한계치를 입력받는 단계;
    상기 정점의 부분집합을 방문하고 차집합을 방문하는 초기해를 산출하는 단계; 및
    상기 초기해를 조작하여 최적화된 해를 산출하는 단계를 수행하되,
    상기 초기해를 산출하는 단계는, 상기 정점의 부분집합에 대한 해의 전반을 산출하는 단계; 및 상기 차집합에 대한 해의 후반을 산출하는 단계를 포함하며,
    상기 최적화된 해를 산출하는 단계는, 제1 알고리즘 기반의 해 또는 제2 알고리즘 기반의 해 중 하나의 해의 전반에 방문하는 정점을 대상으로 외판원 문제를 다시 풀고, 새롭게 얻어진 해가 원래 해의 전반보다 우수하면 상기 해의 전반을 교체하고, 상기 해의 후반에 방문하는 정점을 대상으로 외판원 문제를 다시 풀고, 새롭게 얻어진 해가 원래 해의 후반보다 우수하면 상기 해의 후반을 교체하되,
    상기 제1 알고리즘은, 상기 차집합에 대한 해의 후반을 산출하는 단계에서, 상기 정점의 전체집합을 대상으로 외판원 문제의 해를 산출한 후 상기 정점의 부분집합을 생략하고,
    상기 최적화된 해를 산출하는 단계에서, 상기 해의 후반에서 한 정점을 생략하고 생략한 정점을 상기 해의 전반으로 이동하며, 상기 한계치를 위배하지 않는 조작에 대해서 상기 조작으로 인한 해의 전체 이동거리에 대한 개선분을, 상기 해의 전반의 총 이동거리 및 상기 해의 전반의 정점 가중치의 합을 합친 값의 증가분으로 나눈 것이 최대화되는 조작을 반복 수행하며, 해의 전체 이동거리를 개선하는 조작이 더 이상 없으면 중단하는 것을 특징으로 하는 이중 티어 외판원 문제에 대한 최적화 방법.
  2. 제1항에 있어서,
    상기 제2 알고리즘은,
    상기 차집합에 대한 해의 후반을 산출하는 단계에서, 상기 차집합에 속하는 정점만을 대상으로 외판원 문제의 해를 산출하는 것을 특징으로 하는 이중 티어 외판원 문제에 대한 최적화 방법.
  3. 제2항에 있어서,
    상기 제2 알고리즘은,
    상기 최적화된 해를 산출하는 단계에서, 상기 해의 후반에서 한 정점을 생략하고 생략한 정점을 상기 해의 전반으로 삽입하는 것을 특징으로 하는 이중 티어 외판원 문제에 대한 최적화 방법.
  4. 제3항에 있어서,
    상기 제2 알고리즘은,
    상기 최적화된 해를 산출하는 단계에서, 상기 한계치를 위배하지 않는 조작에 대해서 상기 조작으로 인한 해의 전체 이동거리에 대한 개선분을, 상기 해의 전반의 총 이동거리 및 상기 해의 전반의 정점 가중치의 합을 합친 값의 증가분으로 나눈 것이 최대화되는 조작을 반복 수행하며, 해의 전체 이동거리를 개선하는 조작이 더 이상 없으면 중단하는 것을 특징으로 하는 이중 티어 외판원 문제에 대한 최적화 방법.
  5. 삭제
KR1020210043246A 2021-04-02 2021-04-02 이중 티어 외판원 문제에 대한 최적화 방법 KR102615117B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210043246A KR102615117B1 (ko) 2021-04-02 2021-04-02 이중 티어 외판원 문제에 대한 최적화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210043246A KR102615117B1 (ko) 2021-04-02 2021-04-02 이중 티어 외판원 문제에 대한 최적화 방법

Publications (2)

Publication Number Publication Date
KR20220137325A KR20220137325A (ko) 2022-10-12
KR102615117B1 true KR102615117B1 (ko) 2023-12-15

Family

ID=83597908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210043246A KR102615117B1 (ko) 2021-04-02 2021-04-02 이중 티어 외판원 문제에 대한 최적화 방법

Country Status (1)

Country Link
KR (1) KR102615117B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101972376B1 (ko) * 2018-01-23 2019-04-25 주식회사 프레시코드 신선식품 배송경로 결정 방법 및 이를 이용하는 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190019857A (ko) * 2017-08-17 2019-02-27 고려대학교 산학협력단 온디맨드 물류에서 tsp를 활용한 배송 경로 생성 장치
KR102316149B1 (ko) 2019-05-17 2021-10-22 승영욱 경로 최적화 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101972376B1 (ko) * 2018-01-23 2019-04-25 주식회사 프레시코드 신선식품 배송경로 결정 방법 및 이를 이용하는 장치

Also Published As

Publication number Publication date
KR20220137325A (ko) 2022-10-12

Similar Documents

Publication Publication Date Title
KR102415508B1 (ko) 컨볼루션 신경망 처리 방법 및 장치
KR102192880B1 (ko) 소프트웨어 재패키징 방지 방법 및 장치
EP3153987B1 (en) Duplicate data deletion method and device
US20220172060A1 (en) Modifying machine learning models to improve locality
CN103518364A (zh) 分布式存储系统的数据更新方法及服务器
CN105453031A (zh) 指令合并优化
US9946461B2 (en) In-flash immutable object processing
US10503718B2 (en) Parallel transfers of electronic data
CN110185523A (zh) 尿素喷射量控制方法及装置
US20150089097A1 (en) I/o processing control apparatus and i/o processing control method
KR102615117B1 (ko) 이중 티어 외판원 문제에 대한 최적화 방법
KR102642333B1 (ko) 인공 신경망의 데이터의 주소를 생성하는 방법 및 장치
US20220171540A1 (en) Reducing wear on zoned storage devices for storing digital data
US20160259579A1 (en) Storage control apparatus and storage control method
US20180011663A1 (en) Solid state drive
US20150261454A1 (en) Database device, computer program product and data processing method
CN114037131B (zh) 一种空地协同任务路线规划方法、装置、终端及存储介质
US10318422B2 (en) Computer-readable recording medium storing information processing program, information processing apparatus, and information processing method
CN111984031B (zh) 一种无人机路径规划方法、无人机及存储介质
AU2016277745B2 (en) Linked-list-based method and device for application caching management
KR102367753B1 (ko) Top-n 스카이라인 질의를 이용한 다차원 속성 기반 최적 경로 탐색 방법
US10956397B2 (en) Method and apparatus for processing concurrent transactions, and storage medium
JP7403465B2 (ja) 短絡高速化のための複合条件の並べ替え
CN109388645B (zh) 指令执行方法、指令执行装置及存储介质
KR20210080749A (ko) 공간 조인 수행 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant