396.29 자원 제약 조건의 정식화
1. 서론
로봇 임무 관리에서 자원 제약 조건(resource constraint)은 임무의 실현 가능성을 판정하고 최적의 임무 계획을 수립하는 데 핵심적인 역할을 수행한다. 로봇 시스템이 보유하는 에너지, 연료, 탑재 중량(payload capacity), 연산 능력, 통신 대역폭, 저장 용량, 소모품(센서 프로브, 비콘, 시약 등) 등은 물리적·논리적으로 유한한 자원에 해당하며, 임무 수행 과정에서 이들 자원의 소비량이 가용량을 초과하지 않도록 보장하는 수학적 모델링이 필수적이다.
자원 제약의 정식화(formulation)는 자원의 물리적 특성, 소비 패턴, 생산·재생 가능 여부, 자원 간 상호 의존성, 시간적 변동성 등 다차원적 요인을 고려하여야 한다. 본 절에서는 로봇 임무에 적용되는 자원의 분류 체계를 수립하고, 각 자원 유형에 대한 수학적 정식화를 제시하며, 다중 자원 제약의 통합 모델링과 최적화 기반 계획 문제의 정식화를 체계적으로 기술한다.
2. 자원의 분류 체계
2.1 재생 가능 자원과 비재생 가능 자원
자원은 소비 후 복원 가능 여부에 따라 다음의 두 범주로 분류된다.
재생 가능 자원(renewable resource): 과업(task) 수행이 완료되면 즉시 반환되어 다른 과업에 재사용할 수 있는 자원이다. CPU/GPU 연산 코어, 통신 채널, 메모리 슬롯, 작업 공간(workspace), 조작기(manipulator) 등이 이에 해당한다. 재생 가능 자원의 핵심 제약은 임의의 시점 t에서 동시에 사용되는 자원의 총량이 용량(capacity)을 초과하지 않아야 한다는 점이다. 이를 수학적으로 표현하면:
\sum_{i \in \mathcal{T}_{\text{active}}(t)} r_{ik} \leq R_k, \quad \forall t \in [0, T_{\text{mission}}], \; \forall k \in \mathcal{K}_{\text{renew}}
여기서 \mathcal{T}_{\text{active}}(t)는 시점 t에 실행 중인 과업의 집합, r_{ik}는 과업 \tau_i가 자원 k에 대하여 요구하는 양, R_k는 자원 k의 총 용량이다. 이 제약은 시간 축 전체에 걸쳐 점별(pointwise)로 만족되어야 하므로, 스케줄링 문제의 난이도를 결정하는 주요 요인이 된다.
비재생 가능 자원(non-renewable resource): 한 번 사용하면 소비(deplete)되어 복원되지 않는 자원이다. 배터리 에너지, 화학 연료, 잉크, 소모성 센서(일회용 프로브), 비콘, 라벨 등이 이에 해당한다. 비재생 가능 자원의 제약은 전체 임무 기간에 걸친 누적 소비량이 초기 가용량을 초과하지 않아야 한다는 것이다:
\sum_{i=1}^{n} c_{ik} \leq C_k^{\text{init}}, \quad \forall k \in \mathcal{K}_{\text{non-renew}}
여기서 c_{ik}는 과업 \tau_i가 자원 k를 소비하는 양, C_k^{\text{init}}는 자원 k의 초기 총량, n은 전체 과업의 수이다. 재생 가능 자원의 제약이 순간적 용량(instantaneous capacity)에 대한 것인 반면, 비재생 가능 자원의 제약은 총량적 예산(total budget)에 대한 것이라는 점에서 본질적으로 구분된다.
2.2 이산 자원과 연속 자원
자원의 양적 특성에 따라 다음과 같이 분류된다.
이산 자원(discrete resource): 정수(integer) 단위로만 할당 가능한 자원이다. 로봇의 대수, 그리퍼(gripper)의 수, 센서 모듈의 수, 드론의 수 등이 이에 해당한다. 이산 자원의 할당은 정수 계획(integer programming)으로 정식화된다:
r_{ik} \in \mathbb{Z}_{\geq 0}, \quad \sum_{i \in \mathcal{T}_{\text{active}}(t)} r_{ik} \leq R_k, \quad \forall t, \; \forall k \in \mathcal{K}_{\text{discrete}}
연속 자원(continuous resource): 실수(real) 값으로 연속적 할당이 가능한 자원이다. 에너지 소비율(W), 통신 대역폭(bps), CPU 사용률(%), 메모리 대역폭 등이 이에 해당한다:
r_{ik} \in \mathbb{R}_{\geq 0}, \quad \sum_{i \in \mathcal{T}_{\text{active}}(t)} r_{ik} \leq R_k, \quad \forall t, \; \forall k \in \mathcal{K}_{\text{cont}}
이산 자원과 연속 자원이 혼합된 로봇 시스템에서는 혼합 정수 계획(Mixed-Integer Programming, MIP)이 자연스러운 정식화 도구가 된다.
2.3 저장 가능 자원(Reservoir Resource)
저장 가능 자원은 과업 수행에 따라 생산(production)과 소비(consumption)가 동시에 발생할 수 있는 자원이다. 배터리의 충전(charge)과 방전(discharge), 물탱크의 급수와 배수, 화물 적재와 하역, 데이터 버퍼의 쓰기와 읽기 등이 이에 해당한다. 저장 가능 자원의 수준(level)은 시간에 따라 변동하며, 어느 시점에서도 허용 범위 내에 있어야 한다:
L_k^{\min} \leq L_k(t) \leq L_k^{\max}, \quad \forall t \in [0, T_{\text{mission}}]
여기서 L_k(t)는 시점 t에서의 자원 k의 수준, L_k^{\min}은 허용 하한(예: 배터리의 최소 안전 잔량), L_k^{\max}는 허용 상한(예: 탱크의 최대 용량)이다.
자원 수준의 시간적 변화는 생산율과 소비율의 차분에 의하여 지배된다. 연속 시간 모델에서:
L_k(t) = L_k(0) + \int_0^t \left[ \dot{p}_k(\tau) - \dot{c}_k(\tau) \right] d\tau
여기서 \dot{p}_k(\tau)는 시점 \tau에서의 생산율(production rate), \dot{c}_k(\tau)는 소비율(consumption rate)이다.
이산 이벤트 모델에서는 과업의 시작 또는 종료 시점에 자원 수준이 불연속적으로 변동한다:
L_k(t_i^+) = L_k(t_i^-) + \Delta p_{ik} - \Delta c_{ik}
여기서 t_i^-와 t_i^+는 이벤트 i의 직전·직후 시점이며, \Delta p_{ik}와 \Delta c_{ik}는 이벤트에 의한 생산량과 소비량이다.
2.4 부분적 재생 가능 자원(Partially Renewable Resource)
부분적 재생 가능 자원은 특정 시간 구간(time window) 내에서만 용량 제한이 적용되는 자원이다. 예를 들어, 로봇 작업자의 교대 근무 시 각 교대 구간별로 에너지나 작업 가능 시간이 독립적으로 제한되는 경우가 이에 해당한다. 시간 구간 \Pi_j = [a_j, b_j]에 대한 제약은:
\sum_{i : [s_i, e_i] \cap \Pi_j \neq \emptyset} r_{ik} \leq R_k^{(j)}, \quad \forall j, \; \forall k \in \mathcal{K}_{\text{partial}}
여기서 [s_i, e_i]는 과업 \tau_i의 실행 구간, R_k^{(j)}는 시간 구간 \Pi_j에서의 자원 k의 용량이다.
3. 에너지 자원 제약의 상세 정식화
3.1 배터리 에너지 모델
배터리 에너지 제약은 이동 로봇 임무 관리에서 가장 빈번하게 적용되는 자원 제약이다. 배터리의 잔여 에너지 E(t)는 시간에 따라 다음과 같이 변화한다:
E(t) = E_0 - \int_0^t P(\tau) \, d\tau
여기서 E_0는 초기 완충 에너지, P(\tau)는 시점 \tau에서의 총 전력 소비율이다. 전력 소비율은 구동계 소비, 센서 소비, 연산 소비, 통신 소비 등의 합으로 분해된다:
P(\tau) = P_{\text{drive}}(\tau) + P_{\text{sensor}}(\tau) + P_{\text{comp}}(\tau) + P_{\text{comm}}(\tau) + P_{\text{idle}}
여기서 P_{\text{idle}}는 대기 상태의 기저 전력(baseline power)이다.
임무 수행 중 잔여 에너지는 안전 여유(safety margin) E_{\text{reserve}}를 고려하여 다음의 부등식을 항상 만족하여야 한다:
E(t) \geq E_{\text{reserve}}, \quad \forall t \in [0, T_{\text{mission}}]
이 제약은 로봇이 임무 수행 후 충전소 또는 회수 지점까지 복귀하는 데 필요한 에너지를 예약하는 역할을 한다.
이동 과업에서의 에너지 소비는 이동 거리, 속도, 탑재 중량, 지형 조건, 가감속 패턴 등에 의존한다. 경유점(waypoint) w_i에서 w_j로의 이동 에너지에 대한 일반화된 모델은:
E_{\text{move}}(w_i, w_j) = \alpha \cdot d(w_i, w_j) + \beta \cdot m_{\text{payload}} \cdot d(w_i, w_j) + \gamma \cdot \Delta h(w_i, w_j)
여기서 d(w_i, w_j)는 이동 거리, \alpha는 공차(空車) 에너지 계수, \beta는 탑재 중량 에너지 계수, m_{\text{payload}}는 탑재 중량, \gamma는 고도차 에너지 계수, \Delta h(w_i, w_j)는 경유점 간 고도차이다. 보다 정밀한 모델에서는 속도 프로파일 v(t)와 가속도 a(t)를 반영한 동적 에너지 모델이 사용된다:
E_{\text{move}} = \int_{t_0}^{t_f} \left[ f_{\text{roll}}(v) + f_{\text{aero}}(v^2) + (m_{\text{robot}} + m_{\text{payload}}) a(t) v(t) + m_{\text{total}} g \sin\theta(t) \cdot v(t) \right] dt
여기서 f_{\text{roll}}은 구름 저항, f_{\text{aero}}는 공기 저항, g는 중력 가속도, \theta(t)는 경사각이다.
3.2 연료 제약 모델
무인 항공기(UAV), 수중 로봇(AUV), 연료 전지 로봇 등에서의 연료 제약은 배터리 모델과 유사하나, 연료 소비율이 운용 조건에 대하여 비선형적 의존성을 보이는 경우가 많다. 연료 소비율은 속도, 고도, 기상 조건, 탑재 중량 등의 복합적 함수이다:
\dot{F}(t) = f\bigl(\mathbf{v}(t), h(t), \mathbf{w}_{\text{wind}}(t), m_{\text{payload}}(t)\bigr)
여기서 \dot{F}(t)는 순시 연료 소비율, \mathbf{v}(t)는 속도 벡터, h(t)는 고도, \mathbf{w}_{\text{wind}}(t)는 풍속 벡터이다. 고정익(fixed-wing) UAV의 경우 Breguet 범위 방정식에 기반한 연료 소비 모델이 적용되며, 회전익(rotary-wing) UAV의 경우 블레이드 요소 운동량 이론(blade element momentum theory)에 기반한 추력-파워 관계가 사용된다.
잔여 연료 F(t)에 대한 제약은:
F(t) = F_0 - \int_0^t \dot{F}(\tau) \, d\tau \geq F_{\text{reserve}}, \quad \forall t \in [0, T_{\text{mission}}]
3.3 연산 및 통신 자원 제약
로봇의 탑재 컴퓨터(onboard computer) 자원은 재생 가능 자원에 해당하며, CPU 코어 수, GPU 연산 유닛, 메모리, 통신 대역폭 등으로 구성된다. 연산 자원 제약은:
\sum_{i \in \mathcal{T}_{\text{active}}(t)} u_{i}^{\text{cpu}} \leq U_{\text{cpu}}^{\max}, \quad \forall t
\sum_{i \in \mathcal{T}_{\text{active}}(t)} m_{i}^{\text{mem}} \leq M^{\max}, \quad \forall t
여기서 u_{i}^{\text{cpu}}는 과업 \tau_i의 CPU 사용률, m_{i}^{\text{mem}}은 메모리 요구량이다.
통신 대역폭 제약은 다중 로봇 시스템에서 특히 중요하며:
\sum_{i \in \mathcal{T}_{\text{active}}(t)} b_{i} \leq B^{\max}(t), \quad \forall t
여기서 b_i는 과업 \tau_i의 대역폭 요구량, B^{\max}(t)는 시점 t에서의 가용 대역폭이다. 대역폭은 거리, 장애물, 간섭 등에 의하여 시간 변동적(time-varying)인 특성을 가지므로, 확률적 모델링이 필요한 경우가 있다.
3.4 탑재 중량 제약
운반(delivery), 물류(logistics), 수확(harvesting) 등의 임무에서는 탑재 중량 제약이 중요하다. 로봇의 최대 탑재 용량 W^{\max}에 대하여:
\sum_{j \in \mathcal{I}_{\text{loaded}}(t)} w_j \leq W^{\max}, \quad \forall t
여기서 \mathcal{I}_{\text{loaded}}(t)는 시점 t에 적재된 물품의 집합, w_j는 물품 j의 중량이다. 적재와 하역은 특정 경유점에서 발생하므로, 탑재 중량은 경로상의 위치에 따라 불연속적으로 변동한다.
4. 다중 자원 제약의 통합 모델링
4.1 자원 벡터 표현
실제 로봇 임무에서는 복수의 자원 제약이 동시에 존재한다. 이를 통합적으로 모델링하기 위하여 자원 요구 벡터(resource requirement vector)를 도입한다. 과업 \tau_i의 자원 요구 벡터는:
\mathbf{r}(\tau_i) = [r_{i1}, r_{i2}, \ldots, r_{iK}]^{\top} \in \mathbb{R}^K
자원 용량 벡터는:
\mathbf{R}^{\max} = [R_1^{\max}, R_2^{\max}, \ldots, R_K^{\max}]^{\top}
재생 가능 자원에 대한 통합 제약은:
\sum_{i \in \mathcal{T}_{\text{active}}(t)} \mathbf{r}(\tau_i) \leq \mathbf{R}^{\max}, \quad \forall t
여기서 \leq는 성분별(component-wise) 비교이다.
4.2 자원 간 상호 의존성
자원 간에는 물리적·논리적 상호 의존성(interdependency)이 존재한다. 예를 들어:
- 통신 데이터 전송률의 증가 → 통신 모듈 전력 소비 증가 → 배터리 에너지 감소 가속
- 고해상도 센서 활성화 → 연산 부하 증가 + 전력 소비 증가
- 고속 이동 → 에너지 소비 증가 + 센서 데이터 수집 시간 감소
이러한 상호 의존성은 자원 소비 함수를 결합(coupling)시킨다:
r_{ik} = g_k(\tau_i, \mathbf{r}_{i, -k})
여기서 \mathbf{r}_{i, -k}는 자원 k를 제외한 나머지 자원 할당 벡터이며, g_k는 자원 k의 소비가 다른 자원에 의존하는 관계를 나타내는 함수이다. 이러한 결합 관계가 존재하면, 자원 할당 문제는 연립 부등식 시스템의 해를 구하는 문제로 복잡해진다.
4.3 자원-시간 프로파일
다중 자원 제약의 시간적 변동을 시각화하고 분석하기 위하여 자원-시간 프로파일(resource-time profile)이 사용된다. 자원 k에 대한 시간 프로파일은:
\rho_k(t) = \sum_{i \in \mathcal{T}_{\text{active}}(t)} r_{ik}
이 프로파일이 용량 R_k를 초과하는 시점이 검출되면 자원 충돌(resource conflict)이 발생한 것이며, 해당 시점의 과업을 재배치(rescheduling)하여야 한다.
5. 자원 제약 하의 최적화 계획 문제
5.1 자원 제약 프로젝트 스케줄링 문제(RCPSP)
자원 제약 하의 임무 스케줄링은 운용 연구(operations research) 분야의 고전적 문제인 RCPSP(Resource-Constrained Project Scheduling Problem)로 정식화된다:
\min \; C_{\max}
\text{s.t.} \quad e_i \leq s_j, \quad \forall (\tau_i, \tau_j) \in \mathcal{P}
\sum_{i : s_i \leq t < e_i} r_{ik} \leq R_k, \quad \forall k \in \mathcal{K}_{\text{renew}}, \; \forall t
\sum_{i=1}^{n} c_{ik} \leq C_k^{\text{init}}, \quad \forall k \in \mathcal{K}_{\text{non-renew}}
s_i \geq 0, \quad \forall \tau_i \in \mathcal{T}
여기서 C_{\max} = \max_i \{e_i\}는 전체 임무의 최종 완료 시점(makespan), s_i와 e_i는 과업 \tau_i의 시작·종료 시점, \mathcal{P}는 과업 간 선행 관계(precedence relation)의 집합이다.
RCPSP는 NP-난해(NP-hard) 문제임이 증명되어 있으며(Blazewicz et al., 1983), 대규모 인스턴스에 대하여 정확한 최적해의 계산은 사실상 불가능하다. 이에 따라 다음의 근사적 방법론이 활용된다:
- 우선순위 규칙 기반 휴리스틱(priority-rule-based heuristic): 최소 여유 시간(Minimum Slack Time), 최장 경로(Longest Path), 최대 자원 요구(Maximum Resource Demand) 등의 규칙에 따라 과업을 순차적으로 배정한다.
- 유전 알고리즘(Genetic Algorithm, GA): 과업의 순서열을 유전자(gene)로 인코딩하고, 교차(crossover)·돌연변이(mutation) 연산자를 통하여 해 공간을 탐색한다.
- 시뮬레이티드 어닐링(Simulated Annealing, SA): 온도 매개변수의 점진적 감소에 따른 확률적 해 탐색을 수행한다.
- 타부 서치(Tabu Search): 금지 목록(tabu list)을 유지하여 순환 탐색을 방지하면서 이웃해(neighborhood)를 탐색한다.
- 제약 전파(Constraint Propagation): 자원 제약으로부터 과업의 시작·종료 시간 범위를 추론하여 탐색 공간을 축소한다(Laborie, 2003).
5.2 에너지 인식 경로 계획
에너지 자원 제약을 경로 계획에 통합하면, 목표 지점을 방문하면서 에너지 제약을 만족하는 경로를 탐색하는 문제가 된다. 이는 용량 제약 차량 경로 문제(Capacitated Vehicle Routing Problem, CVRP)의 변형으로 정식화된다:
\min \sum_{(i,j) \in \mathcal{E}} c_{ij} x_{ij}
\text{s.t.} \quad \sum_{j} E_{\text{move}}(w_i, w_j) \cdot x_{ij} + \sum_{j} E_{\text{task}}(w_j) \cdot y_j \leq E_0 - E_{\text{reserve}}
\sum_{j \in \mathcal{V}} x_{ij} = 1, \quad \forall i \in \mathcal{V}_{\text{target}}
x_{ij} \in \{0, 1\}, \quad y_j \in \{0, 1\}
여기서 x_{ij}는 경유점 w_i에서 w_j로의 이동 여부를 나타내는 이진 결정 변수, E_{\text{task}}(w_j)는 경유점 w_j에서 과업 수행에 소비되는 에너지, \mathcal{V}_{\text{target}}은 반드시 방문하여야 하는 목표 경유점의 집합이다.
5.3 자원 재충전 모델
충전소(charging station) 또는 보급점(refueling depot)에서의 자원 보충이 가능한 경우, 자원 제약은 재충전 기회를 포함하여 모델링된다. 충전 이벤트 k에 의한 에너지 변화는:
E(t_k^+) = \min\bigl(E(t_k^-) + \Delta E_{\text{charge}}(t_k), \; E_{\max}\bigr)
여기서 t_k^-와 t_k^+는 충전 이벤트 k의 직전·직후 시점, \Delta E_{\text{charge}}(t_k)는 충전량이다. 충전량은 충전 시간 \Delta t_{\text{charge}}와 충전 효율 \eta_{\text{charge}}에 의존한다:
\Delta E_{\text{charge}} = \eta_{\text{charge}} \cdot P_{\text{charger}} \cdot \Delta t_{\text{charge}}
여기서 P_{\text{charger}}는 충전기의 공급 전력이다. 비선형 충전 특성(예: 리튬이온 배터리의 CC-CV 충전)이 적용되는 경우, 충전량은 충전 시간에 대한 비선형 포화 함수로 모델링된다.
재충전을 포함하는 경로 계획 문제는 Sundar와 Rathinam(2014)에 의하여 보급점 방문이 결정 변수에 포함되는 혼합 정수 프로그래밍(MIP) 문제로 정식화된 바 있다.
6. 자원 제약의 완화와 트레이드오프 분석
6.1 경성 제약과 연성 제약
모든 자원 제약을 경성 제약(hard constraint)으로 처리하면, 과업의 수가 증가하거나 자원 용량이 제한적인 경우 실현 가능한 해(feasible solution)가 존재하지 않는 과잉 제약(over-constrained) 상황이 발생할 수 있다. 이 경우, 일부 자원 제약을 연성 제약(soft constraint)으로 완화하여 목적 함수에 페널티 항으로 포함시키는 방법이 채택된다:
\min \left[ f(\mathbf{x}) + \sum_{k \in \mathcal{K}} \lambda_k \cdot \max\!\left(0, \; \sum_{i \in \mathcal{T}_{\text{active}}(t)} r_{ik} - R_k\right) \right]
여기서 \lambda_k > 0는 자원 k의 초과에 대한 페널티 계수이다. 페널티 계수의 설정은 자원 초과의 심각성(criticality)에 비례하여야 하며, 도메인 지식에 기반한 보정이 필요하다.
6.2 자원 간 트레이드오프의 파레토 분석
자원 간 트레이드오프(trade-off)의 체계적 분석은 다목적 최적화(multi-objective optimization)의 프레임워크 내에서 수행된다. 전형적인 트레이드오프 관계의 예시는 다음과 같다:
| 결정 변수 | 개선 효과 | 부정적 영향 |
|---|---|---|
| 이동 속도 증가 | 시간 제약 완화 | 에너지 소비 증가 |
| 센서 해상도 향상 | 임무 품질 향상 | 연산 부하·에너지 소비 증가 |
| 통신 빈도 증가 | 상황 인식 향상 | 대역폭·에너지 소비 증가 |
| 중복 경로 배제 | 이동 에너지 절감 | 관측 범위 감소 |
이러한 트레이드오프는 파레토 최적화(Pareto optimization)를 통하여 분석되며, 파레토 프론티어(Pareto frontier) 상의 비지배 해(non-dominated solution) 집합이 도출된다:
\min_{\mathbf{x}} \bigl[ f_{\text{time}}(\mathbf{x}), \; f_{\text{energy}}(\mathbf{x}), \; f_{\text{quality}}(\mathbf{x}) \bigr]
의사 결정자(decision maker)는 파레토 프론티어 상에서 임무의 우선순위에 따라 적절한 균형점(operating point)을 선택한다.
6.3 라그랑주 완화(Lagrangian Relaxation)
자원 제약이 문제의 주요 난이도를 결정하는 경우, 라그랑주 완화법을 적용하여 자원 제약을 라그랑주 승수(Lagrange multiplier)로 이완(relax)시킨 하위 문제(subproblem)를 풀고, 쌍대 문제(dual problem)를 반복적으로 해석하여 근사 최적해와 하한(lower bound)을 동시에 구할 수 있다:
\mathcal{L}(\mathbf{x}, \boldsymbol{\mu}) = f(\mathbf{x}) + \sum_k \mu_k \left( \sum_{i \in \mathcal{T}_{\text{active}}(t)} r_{ik} - R_k \right)
\max_{\boldsymbol{\mu} \geq \mathbf{0}} \; \min_{\mathbf{x}} \; \mathcal{L}(\mathbf{x}, \boldsymbol{\mu})
라그랑주 승수 \mu_k는 자원 k의 한계 가치(marginal value)를 나타내며, 자원 용량의 증가가 임무 목적 함수에 미치는 영향을 정량적으로 분석하는 데 활용된다.
7. 참고문헌
- Blazewicz, J., Lenstra, J. K., and Rinnooy Kan, A. H. G. (1983). “Scheduling Subject to Resource Constraints: Classification and Complexity.” Discrete Applied Mathematics, 5(1), 11–24.
- Brucker, P., Drexl, A., Möhring, R., Neumann, K., and Pesch, E. (1999). “Resource-Constrained Project Scheduling: Notation, Classification, Models, and Methods.” European Journal of Operational Research, 112(1), 3–41.
- Laborie, P. (2003). “Algorithms for Propagating Resource Constraints in AI Planning and Scheduling.” Artificial Intelligence, 143(2), 151–188.
- Mei, Y., Lu, Y. H., Hu, Y. C., and Lee, C. S. G. (2006). “Energy-Efficient Motion Planning for Mobile Robots.” Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2006.
- Sundar, K. and Rathinam, S. (2014). “Algorithms for Routing an Unmanned Aerial Vehicle in the Presence of Refueling Depots.” IEEE Transactions on Automation Science and Engineering, 11(1), 287–294.
- Toth, P. and Vigo, D. (2014). Vehicle Routing: Problems, Methods, and Applications. 2nd Edition, SIAM.
- Neumann, K., Schwindt, C., and Zimmermann, J. (2003). Project Scheduling with Time Windows and Scarce Resources. Springer.
- Hartmann, S. and Briskorn, D. (2010). “A Survey of Variants and Extensions of the Resource-Constrained Project Scheduling Problem.” European Journal of Operational Research, 207(1), 1–14.
본 절은 로봇공학 서적 Volume 9, Part 53, Chapter 396의 일부로 작성되었다. 버전: 2026-03-24 v2.0