Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 2005-0461(Print)
ISSN : 2287-7975(Online)
Journal of Society of Korea Industrial and Systems Engineering Vol.38 No.4 pp.64-71
DOI : https://doi.org/10.11627/jkise.2015.38.4.64

The Cardinality Constrained Multi-Period Linear Programming Knapsack Problem

Joong-Yeon Won†
Department of Industrial and Management Engineering, Kyonggi University
Corresponding Author : jywon@kgu.ac.kr
August 26, 2015 September 21, 2015 November 26, 2015

Abstract

In this paper, we present a multi-period 0-1 knapsack problem which has the cardinality constraints. Theoretically, the presented problem can be regarded as an extension of the multi-period 0-1 knapsack problem. In the multi-period 0-1 knapsack problem, there are n jobs to be performed during m periods. Each job has the execution time and its completion gives profit. All the n jobs are partitioned into m periods, and the jobs belong to i-th period may be performed not later than in the i-th period, i =1, ⋯, m . The total production time for periods from 1 to i is given by bi for each i = 1, ⋯, m , and the objective is to maximize the total profit. In the extended problem, we can select a specified number of jobs from each of periods associated with the corresponding cardinality constraints. As the extended problem is NP-hard, the branch and bound method is preferable to solve it, and therefore it is important to have efficient procedures for solving its linear programming relaxed problem. So we intensively explore the LP relaxed problem and suggest a polynomial time algorithm. We first decompose the LP relaxed problem into m subproblems associated with each cardinality constraints. Then we identify some new properties based on the parametric analysis. Finally by exploiting the special structure of the LP relaxed problem, we develop an efficient algorithm for the LP relaxed problem. The developed algorithm has a worst case computational complexity of order max[O(n2logn), O(mn2)], where m is the number of periods and n is the total number of jobs. We illustrate a numerical example.


선수제약 다기간 선형계획 배낭문제

원 중 연†
경기대학교 산업경영공학과

초록


    1.서 론

    본 논문에서 새로이 정의하는 문제는 수행을 고려하 는 총 작업의 수가 n 일 때 m 개의 기간(period)에 걸쳐 각 기간별로 수행할 작업들을 선택하는 문제이다. 모든 작업들은 기간별 작업집합 N i , i = 1, …, m에 나뉘어 속 하여 있고, N i 에 속한 작업들은 늦어도 기간 i 까지는 수 행되어야 한다. 기간 i 에서 수행할 작업으로 ki 개를 선 택한다. N i 에 속한 작업 j 를 수행하는데 걸리는 시간은 aij 이고, 수행되면 cij 의 이익이 발생한다. 기간 1부터 기 간 t 동안에 총 투입할 수 있는 생산시간은 bt 이다(t = 1, …, m).

    우리는 이 문제를 선수제약 다기간 0-1 배낭문제(K; cardinality constrained multi-period 0-1 knapsack problem)라 부른다. 즉 문제 (K)는 기간에 따라 투입할 수 있는 생산 시간의 제약 하에서 모든 기간에 걸쳐 발생하는 총 이익 이 최대가 되도록 각 기간별로 수행할 작업들을 여러 개 선택할 수 있는 문제이다.

    변수 xij 는 작업집합 N i 에 속한 작업 j 의 수행여부를 표현하는 0-1 변수라 하자. 즉 작업 j 를 수행하면 1, 아 니면 0의 값을 갖는 것으로 정의한다. 그러면 선수제약 다기간 0-1 배낭문제 (K)는 다음과 같이 표현된다.

    K  Maximize  i = 1 m j N i c ij x ij
    (1)

    subject to

    i = 1 t j N i a ij x ij b t , t I = 1 , 2 ,..., m ,
    (2)

    j N i x ij = k i , i I ,
    (3)

    x ij 0 , 1 , j N i = 1 , 2 , ..., n i , i I .
    (4)

    여기서, 모든 aij , cij , bt 는 양수, ki 는 정수, 1 ≤ kini , 0 < b1 < b2 < … < bm 이고, 집합 N i 는 서로 중복적이지 않다.

    문제 (K)는 기존의 다기간 배낭문제에서 확장되어 기 간별로 수행할 작업을 복수 개인 ki 로 선택할 수 있도록 확장된 문제이다. 문제 (K)에서 선수제약 (3)의 우변 ki 가 모두 1이 되는 특수한 경우, 즉 각 기간 i 마다 수행할 작 업을 한 작업만으로 제한한 경우의 문제는 기존의 다중선 택 다기간 배낭문제(multiple-choice multi-period knapsack problem)가 된다[5]. 문제 (K)에서 선수제약 (3)이 완화되어 삭제된 문제는 다기간 배낭문제(multi-period knapsack problem) 가 된다[2, 4].

    문제 (K)는 0-1 정수계획 문제이므로 최적해는 일반적 으로 분지한계법을 적용하여 구하며, 한계전략으로는 선 형계획 완화를 사용한다. 그러면 분지한계법의 각 분지 단계마다 선형계획 완화문제를 반복적으로 풀어야하므 로, 선형계획 완화문제의 최적해를 신속하게 구하는 효 율적인 해법이 요구된다. 이에 본 논문에서는 정수계획 문제 (K)가 선형계획으로 완화된 문제에 대해 연구한다. 이 선형계획 문제를 선수제약 다기간 선형계획 배낭문제 라 부르자. 이 문제는 선수제약과 다기간 제약 구조를 갖 는 선형계획 문제 자체로서도 그 특성을 연구할 만한 가 치가 있다.

    제 2장에서는 선수제약 다기간 선형계획 배낭문제 (P) 를 제시한다. 제 3장에서는 문제 (P)의 효율적인 해법을 개발하기 위해 기존 연구와는 달리 먼저 문제 (P)를 각 기간에 대응하여 발생하는 여러 독립적인 부문제로 분해 하고 그 특성을 정리한다. 제 4장에서는 문제 (P)의 다기 간 제약구조에 성립하는 모수분석적 분배특성들을 보이 고, 이 특성을 기반으로 문제 (P)의 효율적인 해법을 제시 한다. 아울러 이 해법이 갖는 최악상황하의 계산복잡도 를 분석한다. 제 5장에서는 수치예제를 통해 해법의 적용 을 보인다.

    2.선수제약 다기간 선형계획 배낭문제

    선수제약 다기간 선형계획 배낭문제 (P)는 다음과 같 이 표현된다.

    P  Maximize  i = 1 m j N i c ij x ij
    (5)

    subject to

    i = 1 t j N i a ij x ij b t , t I = 1 , 2 ,..., m ,
    (6)

    j N i x ij = k i , i I ,
    (7)

    0 x ij 1 , j N i = 1 , 2 , ..., n i , i I .
    (8)

    Faaland[4]는 제약식 (7)이 존재하지 않고, 모든 변수 는 정수 값을 갖는 다기간 배낭문제를 제시하였다. 그는 이 정수계획 문제의 최적해를 구하기 위한 분지한계법 에 활용하기 위해 선형계획 완화문제를 연구하였다. 그 는 이 선형계획 완화된 문제를 쌍대문제로 변환하고 쌍 대문제에 존재하는 다기간 제약구조의 특수성을 이용하 여, 최악상황하의 계산복잡도가 O (m)인 해법을 제시하 였다.

    Dudzinski and Walukiewicz[2]은 제약식 (7)이 존재하지 않고, 모든 변수는 0-1 값을 갖는 다기간 0-1 배낭문제를 제시하였다. 그들은 NP -hard인 이 문제의 최적해를 구 하기 위해 분지한계법이 바람직하다는 것과 한계전략으 로서 LP완화 문제를 효율적으로 해결하는 해법의 중요 성을 언급하였다. 해법은 먼저 기간 1에서 집합 N1 에 속 한 변수들로만 이루어지는 선형계획 배낭문제의 최적해 를 구하고 비영의 값을 갖는 변수들을 선정한다. 반복적 으로 기간 t(t = 2 , …, m - 1)에서는 이전 단계에서 선정 된 비영의 최적해 값을 갖는 변수들과 여기에 집합 Nt 에 속하는 변수들을 추가하여 이루어지는 축소된 선형계 획 배낭문제를 고려하고, 이 문제의 최적해를 구한 후 비영의 값을 갖는 변수들을 선정한다. 최종적으로 기간 m 에서도 이전 단계에서 선정된 비영의 최적해 값을 갖 는 변수들과 여기에 집합 Nm 에 속하는 변수들을 추가하 여 만들어지는 축소된 선형계획 배낭문제를 고려하고 최 적해를 구한다. 최종적으로 구해진 최적해를 변환함으로 써 원문제의 최적해로 유도하는 O (mn) 의 해법을 제시 하였다.

    Lin and Wu[5]는 각 기간 i 마다 한 작업만이 선택되 도록 하는 다중선택 다기간 0-1 배낭문제를 제시하였다. 제약식 (7)에서 모든 ki 가 1이 되는 경우, 즉 j N i x ij = 1 , iI 인 제약을 다중선택 제약이라 부른다. 그들은 이 문 제의 최적해를 구하기 위한 분지한계법의 한계전략으로 서 선형계획 완화된 문제를 연구하였다. 특히 다중선택 제약이 갖는 변수들간의 볼록우월성과 최대 두 개의 변 수가 동시에 분수값을 갖고 이들은 인접한 변수라는 특 성을 정리하고, 이 특성에 기반하여 선형계획 완화문제 의 최적해를 구하는 해법을 제시하였다.

    본 논문에서 제시한 선수제약을 갖는 다기간 선형계 획 문제 (P)에서는 각 기간 i 마다 한 개 이상의 ki 개 작 업들을 선택할 수 있는 문제이다. 따라서 본 문제 (P)에 는 LIn and Wu[5]의 해법에 기반이 되는 다중선택 제약 의 여러 특성들이 성립하지 않는다.

    이에 따라 본 연구에서는 기존 연구와는 달리 각각의 기간을 독립적으로 고려하여 문제 (P)로부터 각 기간에 대응하는 독립적인 m 개의 부문제를 정의하고, 선수제약 을 갖는 이들 부문제의 최적 기저변화에 대한 특성을 정 리한다. 다음으로 이러한 특성을 활용하여 문제 (P)의 여 러 다기간 제약에 대한 모수분석 특성을 분석하고 정리 하여 문제 (P)의 효율적인 해법을 개발한다.

    3.문제의 분해

    문제 (P)에서 제약식 (6)은 m 개의 제약식으로 구성되 며, t 번째 제약식에서 우변 bt 를 배분할 대상 작업들에 는 기간 1로부터 기간 t 까지의 모든 작업들이 포함된다. 그러나 본 연구에서는 각 기간을 독립적으로 고려해서, 한 기간 i 에 속한 작업 jN i 들로만 구성된 다음과 같 은 부문제 (SPi)를 정의한다( iI).

    SP i b  Maximize  j N i c ij x ij
    (9)

    j N i a ij x ij b ,
    (10)

    j N i x ij = k i ,
    (11)

    0 x ij 1 , j N i = 1 , 2 , ..., n i .
    (12)

    위 부문제 (SPi)는 선수제약을 갖는 선형계획 배낭문제 의 형태를 갖는다. 이러한 유형의 문제는 Campello and Maculan[1], Dudzinski[3]이 연구하였다. 부문제 (SPi)에서 ki 가 정수가 아닌 실수인 경우의 문제는 Won[6]이 연구 하였다.

    Campello and Maculan[1]은 부문제 (SPi)의 기저가능 해가 갖는 특성으로서 두 변수가 동시에 분수값을 갖고, 그 합은 항상 1이 된다는 것을 보였다. 이들은 부문제 (SPi)의 쌍대문제를 고려하고, 쌍대 최적해는 계산 복잡 도 O (ni3) 에 구할 수 있음과 이로부터 문제 (P)의 최적해를 선형 시간 안에 도출할 수 있음을 보였다.

    Dudzinski[3]는 제약식 (11)이 등식으로 성립한다는 점 을 이용하여, 각 변수 xij 를 나머지 변수로 표현하고 목적 함수 (9)와 제약식 (10)에 치환, 대입함으로써(j = 1, 2, …, ni), 부문제 (SPi)를 ni 개 선형계획 배낭문제로 변환하였다. 다음으로 각 변환된 부문제들의 최적 목적함수 값을 비교 함으로써 최적해를 구하는 O (ni2) 의 해법을 제시하였다. 그러나 이 해법은 각 변수를 나머지 다른 변수로 치환해 서 부문제의 해를 구하므로, 분지한계법을 위한 문제 (P) 의 해법에 적용하기 힘들다는 단점이 있다.

    Won[6]은 우변상수 ki 가 정수가 아닌 실수 값을 갖는 문제를 연구하고, 이 제약을 확장된 일반상한 제약이라 불렀다. 우변 ki 가 실수인 경우의 최적 기저의 특성은 선 택적 의미를 갖는 정수인 경우의 특성과는 다르게 나타 난다. 즉, ki 가 실수인 경우 분수값을 갖는 변수의 수는 한 개나 두 개가 될 수 있으나, 정수인 경우에는 분수값 을 갖는 변수의 수는 0이거나 또는 두 개가 된다.

    본 논문에서는 ki 가 정수인 부문제 (SPi)에서 기저가능 해가 갖는 최적 기저변화의 특성을 다음 보조정리 1에서 보이고 최적비율 탐색해법에 활용한다.

    먼저 필요한 기호들을 정리한다. 위 부문제 (SPi)에서 임의의 두 지수 j1 , j2j1 < j2 이면 aij1aij2 이 되도록 변수들이 재배열된 것으로 가정한다. 제약식 (10)의 우변 은 모수 b 로 설정한다. 부문제의 한 기저가능해를 xi ≡ (xi1 , …, xini)라 하고, 제약식 (10)에서 이 해가 갖는 좌변 값을 b ˆ i = j N i a ij x ¯ ij , 목적함수 값을 z i b ˆ i = j N i c ij x ¯ ij 라 하자. 또한 지수집합 J iJ i ≡{ jxij = 1 , jN i }이 라 정의한다. 이 부문제에 가능해가 있음을 보장하기 위해 모수 b 의 범위는 b b ˆ i min 으로 설정한다. 여기서, b ˆ i min 은 제약식 (10)의 계수 aij들 중에서 가장 작은 ki 개 계수들의 합으로 정의한다. 즉 b ˆ i min = j = 1 k i a ij 이 된다. b ˆ i min 에 대응 하는 해는 xij = 1, jJ i = {1, …, ki }, xij = 0, jN iJ i 이다. 이 초기해는 부문제의 우변 bb = b ˆ i min 가 되면 바 로 최적해가 된다.

    부문제 (SPi)에서 제약식 (10) 및 (11)에 해당하는 두 기저변수의 지수를 각각 j1, j2라 하고, 축소 기저행렬 B 는 두 기저변수에 해당하는 제약식 (10) 및 (11)의 열로 구성된 2×2행렬로 정의한다. 우변이 b ˆ i 에서 Δbi 만큼 더 증가할 때 최적 목적함수 값의 변화는 다음 식 (13)과 같 이 표현된다.

    z i b ˆ i + Δ b i = z i b ˆ i + Δ b i c B B 1 e = z i b ˆ i + Δ b i c i j 2 c i j 1 / a i j 2 a i j 1
    (13)

    여기서 c B = c i j 1 , c i j 2 , e = (1, 0)t 이다. 위 식에서 a i j 1 = a i j 2 인 경우에는 θi (j1, j2 ) ≡∞로 정의한다. 식 (13)에서 Δbi 의 증가에 따른 목적함수의 증가 비율을 다음과 같 이 θi (j1, j2 ) 로 표기한다.

    θ i j 1 , j 2 = c i j 2 c i j 1 / a i j 2 a i j 1

    부문제의 목적함수 zi (b)는 b b ˆ i min 로부터 증가함에 따 라 위로 볼록한 조각적 선형함수(piecewise linear concave function)의 형태를 이룬다. 다음 보조정리 1에서 우변 b ˆ i 는 편의상 zi (b)의 한 절점(break point)이라 하자. 절점에 대응 하는 최적해에서 분수값을 갖는 변수의 수는 0이다. 절점 이 아닌 경우에는 항상 두 변수가 분수값을 갖고 그 합은 1을 유지한다. 그러나 이 두 변수가 인접한 변수가 되지는 않는다.

    보조정리 1 부문제 (SPi)에서 한 기저가능해 xi 의 좌변 값을 b ˆ i 라 하자. 우변이 b ˆ i 에서 더 증가함에 따라 발생 하는 새로운 기저변수의 지수 f1 , f2 와 최적 목적함수의 증가 비율은 다음과 같이 결정된다.

    θ i f 1 , f 2 = max j 1 J i max θ i j 1 , j 2 j 2 N i \ J i , j 2 > j 1

    (증명) 부문제 (SPi)의 우변이 b ˆ i 이면 기저가능해 x 는 최적해이며, 제약식 (10) 및 제약식 (11)은 등식으로 만족 한다. 여기서 ∣ J i ∣ = ki 이다. 우변이 b ˆ i 에서 작은 양 Δbi 만 큼 더 증가할 때 발생하는 새로운 최적해도 제약식 (10) 및 (11)을 등식으로 만족해야 한다. 우변이 Δbi 만큼 더 증가했으므로 제약식 (10)을 등식으로 만족시키기 위해서는, 현재의 해 xi 에서 1의 값을 갖는 한 변수 x i j 1 j 1 J i 의 값은 감소하여야 하고, 현재 0의 값을 갖고 있는 다른 한 변수 x i j 2 j 2 N i \ J i , j 2 > j 1 는 증가하여야 한다. 여기서 j2 > j1 이면 a i j 2 a i j 1 임에 유의한다. 또한 제약식 (11)을 등식으로 유지하기 위해서는 변화된 두 변수가 동시에 분 수값을 갖고 그 합은 1이 될 수밖에 없다[1]. 따라서 목적 함수 z i b ˆ i + Δ b i 는 식 (13)과 같이 발생하며, 목적함수 값이 최대로 증가하는 비율은 정리와 같이 결정된다. ■

    부문제 (SPi)의 모수 b b ˆ i min 에서 점차 증가함에 따라 발생하는 목적함수의 최적 증가비율들은 보조정리 1을 적용하여 구할 수 있다. 다음에 제시한 최적비율 탐색해 법은 이러한 최적 증가비율들을 구하는 해법이다. 구해진 최적비율들의 집합을 목록 L i* 라 한다. 이 최적비율 탐색 해법은 ki 가 정수일 때 부문제 (SPi)의 임의의 우변에 대 한 최적해를 찾는 데에도 활용될 수 있다. 이 경우 최악상 황하의 계산복잡도는 제 4장에서 보이듯이 O(ni2logni) 으로 분석된다.

    최적비율 탐색해법

    0. J i ← {1, …, ki }, L i ← ∅, L i* ← ∅

    1. 다음과 같이 모든 비율 θi (j1, j2 ) 를 계산하고, 비율 크기의 비증가 순으로 후보 비율목록 L i 에 정리한다. 여기서 비율 값이 음수이거나 ∞ 이면 미리 제거한다.

    θ i j 1 , j 2 = c i j 2 c i j 1 / a i j 2 a i j 1 , j 1 < j 2 , j 1 N i , j 2 N i .

    2. 비율목록 L i 에서 첫 번째 위치한 가장 큰 비율을 선택한다. 이 비율을 θi (f1, f2 ) 라 하자.

    3. f1J i , f2J i 이면, 다음을 수행하고, 단계 4로 간다.

    J i J i f 2 \ f 1 , L i L i θ i f 1 , f 2

    4. L iL i\{θi (f1, f2 )}라 한다.

    Li = ∅ 이면, 과정을 끝낸다. 아니면 단계 2로 간다.

    4.다기간 제약구조의 특성 및 해법

    본 장에서는 문제 (P)에서 여러 기간에 대한 제약식 (6)의 우변들을 각 부문제에 최적으로 배분하는 다기간 제약구조의 분배특성을 분석하고 해법에 적용한다. 문제 (P)의 한 가능해 x =(x1, …, xm)가 갖는 제약식 (6)의 좌변 값은 i = 1 t j N i a ij x ¯ ij = b ¯ t , t = 1 , …, m 으로 계산 된다. 따라서 제약식 (6)의 각 우변이 bt 이라면 가능해 x 는 바로 최적해가 된다. 문제 (P)의 초기해로는 xij = 1, jJ i = {1, …, ki }, xij = 0, jN iJ i , iI 로 설정한다. 이 초기해 x 는 제약식 (6)의 우변이 b ¯ t min = i = 1 t b ˆ i min , t = 1, …, m 이면 바로 최적해가 된다.

    다음 정리 2 및 정리 3은 문제 (P)에서 다기간 제약식 (6)의 각 우변 bt 가 기간 1로부터 기간 t 까지 속한 모든 작업들에 최적으로 분배되는 방식을 보여준다(tI). 정리 2에서 가능해 x = (x 1, …, xm)가 기간 i 에서 갖는 목적 함수 증가비율 θi* (f1, f2 ) 는 부문제 (SPi)의 우변이 b ˆ i = j N i a ij x ¯ ij 일 때 보조정리 1에 의해 결정된 비율이다. 즉, θi* (f1, f2 ) ∈ L i* 이다.

    정리 2 문제 (P)의 한 기저가능해를 x , 이 해의 우변 값 을 b ¯ t = i = 1 t j N i a ij x ¯ ij , t = 1 , …, m 라 하자. 문제 (P) 의 우변들이 bt 에서 더 증가함에 따라 발생하는 새로운 기저변수의 지수 f1 , f2 와 최적 목적함수의 증가비율 θp* (f1, f2 ) 는 다음과 같이 결정된다.

    θ p f 1 , f 2 = max i I ¯ θ i f 1 , f 2

    여기서, θi* (f1, f2 ) ∈L i* , iI = {tIbt < bt }이다.

    (증명) 문제 (P)의 우변 bt , t = 1 , …, m 는 현 기저가능 해 x 가 갖는 제약식 (6)의 좌변값과 같으므로 현 기저가 능해는 최적해이다. 각 우변이 현재의 bt , t = 1 , …, m , 로부터 더 증가하려면 우변에 증가할 수 있는 여유가 있 어야 한다. 이러한 제약식의 지수집합을 I 라 하면, I = {tIbt < bt }이다. 다기간 제약구조 (6)에 의해 임의의 기간 tI 에 해당하는 제약식의 모든 계수들은 기간 t 이후의 기간에 해당하는 모든 제약식에 포함되어 있다. 따라서 I 에 속하는 모든 제약식의 우변이 동시에 적절 히 작은 양 Δb 만큼 더 증가될 때의 기저변화는, 여러 부 문제 (SPi), iI, 들 중에서 어느 한 부문제의 우변이 Δb 만큼 더 증가될 때의 변화와 같다. 어느 한 부문제 (SPi)에서 우변이 Δb 만큼 더 증가할 때의 최적 목적함 수의 증가비율은 보조정리 1에서와 같이 θi* (f1, f2 ) ∈L i* 로 구해진다. 따라서 우변 bt , tIΔb 만큼 더 증가 할 때 발생하는 최적 목적함수의 증가비율은 여러 비율 들 θi* (f1, f2 ) , iI 중에서 가장 큰 비율로 결정된다. 따 라서 정리가 성립한다. ■

    다음 정리 3은 정리 2에 의해 결정된 최적 기저가 최 적으로 유지되면서 각 우변들이 증가할 수 있는 최대값 을 보여준다.

    정리 3 문제 (P)에서 한 기저가능해를 x , 이 해의 우변 값을 bt , t = 1 , …, m , 우변이 증가함에 따라 발생하는 목적함수 값의 최대 증가비율을 θp* (f1, f2 )라 하자. 가능 해 x 가 최적으로 유지되면서 각 우변이 증가할 수 있는 최대값은 다음과 같이 결정된다.

    min Δ b q ,   a p f 2 a p f 1

    여기서, Δbq = min{ΔbttI, tp}, Δbt = bt = bt , I= {tIbt < bt }이다.

    (증명) 문제 (P)에서 제약식 (6)의 우변이 bt이면 가능해 x 는 문제 (P)의 최적해가 된다. 우변 bt , tI , 들이 증가 가능한 값을 Δb 라 하자. 1) 제약식 (6)에서 변수 x p f 1 ,   x p f 2 는 기간 p 뿐만 아니라 기간 p + 1 부터 기간 m 까지 모든 제약식에 속하고 있다. 여기서 우변을 더 증가시킬 여유가 있는 제약식들의 집합은 I= {tbt < bt }이다. 따라서 Δbt = bt = bt라 할 때, 증가 가능한 ΔbΔbq =min{ΔbttI, tp }보다 커질 수는 없다. 따라서 Δb 의 최대값은 Δbq 이다. 2) 가정으로부터 목적함수 값의 최대 증가비율 θp* (f1, f2 )는 기간 p 에서 발생하므로, 제약식 (7)로부터 x ¯ p f 1 + x ¯ p f 2 = 1 이 성립한다. 따라서 tI, tp인 모든 제약식 t 에 포함된 a p f 1 x ¯ p f 1 + a p f 2 x ¯ p f 2 a p f 1 + a p f 2 a p f 1 x ¯ p f 2 으로 표현된다. 여기서 변수 x ¯ p f 2 0 x ¯ p f 2 1 이므로, x 가 최 적으로 유지되는 Δb 의 변동구간은 0 Δ b a p f 2 a p f 1 이다. 따라서 Δb 의 최대값은 ( a p f 2 a p f 1 )이다. 위 1)과 2) 로부터 증가 가능한 Δb 의 최대값은 정리와 같이 계산 된다. ■

    다음은 정리 2 및 정리 3을 적용하여 문제 (P)의 최적 해를 구하는 해법이다. 여기서 목록 L* 는 각 최적비율 목록 L i* 에 속한 모든 비율들의 집합이며, 비율크기의 비 증가순으로 다시 정리한 목록이다

    해법

    0. I = I = {1, 2, …, m }, Li ← ∅, L i* ← ∅, Ji ← {1, …, ki }, iI, L*←∅, Δ b t = b t i = 1 t j J i a ij , tI

    1. 문제 (P)의 모든 제약식 계수 aij , jN i ,를 비감소 하는 순서로 재배열한다(∀iI). 최적비율 탐색해 법을 적용하여 최적비율 목록인 L i* , iI 을 작성한다. 모든 L i* 에 속한 비율들을 비율크기의 비증가순으로 정리하여 하나의 목록 L* 에 정리한다.

    2. 비율목록 L* 에서 첫 번째 위치한 가장 큰 비율을 선택한다. 이 비율을 θ*p (f1, f2 ) 라 하자.

    3. pI 이면, 다음 식을 사용하여 Δbqq 을 찾는다. 단계 4로 간다.

      Δ b q = min Δ b t t I ¯ , t p

      pI 이면, L*L*\{θp* (f1, f2 )}로 수정하고 단계 2로 간다.

    4. Δ b q a p f 2 a p f 1 이면, 단계 6으로 간다.

      Δ b q > a p f 2 a p f 1 이면, 단계 5로 간다.

    5. Δ b t Δ b t a p f 2 a p f 1 , tI , tp 를 수행한다.

      J p J p f 2 \ f 1 , L L \ θ p f 1 , f 2

      로 수정하고 단계 2로 간다.

    6. x p f 2 = Δ b q / a p f 2 a p f 1 , x p f 1 = 1 x p f 2 로 설정하고, JpJp\{f1 }로 수정한다.

      q < m 이면, 단계 7로 간다.

      q = m 이면, xij = 1, jJ i , iI ,로 설정하고, 해법 과정을 종료한다.

    7. II \{1, …, q}, ΔbtΔbt = Δbq , tI , L*L*\{θ*p (f1, f2 )}로 수정한다. 단계 2로 간다.

    다음으로 위 해법이 최악상황에서 최적해를 구하는데 소요되는 계산복잡도를 분석한다. 해법의 단계 0은 상 수회에 계산된다. 해법의 단계 1에서 문제의 모든 계수 들 aij 를 비감소순으로 정렬하는 데 i = 1 m O n i log  n i O n  log  n 가 소요된다. 여기서 n 은 문제의 총 변수의 수 이다. 즉 n = i = 1 m n i 이다. 다음으로 최적비율 탐색해법 의 단계 0은 상수회에 계산된다. 최적비율 탐색해법의 단 계 1에서 모든 비율을 계산하는데 O (ni2)의 계산이, 이를 비증가 순으로 정리하여 후보비율 목록 L i 를 작성하는데 O (ni2 log ni)의 계산이 소요된다. 최적비율 탐색해법의 주 회전단계 2, 3, 4는 각 상수회에 계산되고 최대 회전수는 목록 L i 의 비율개수 O (ni2) 이므로, 단계 2, 3, 4가 회전하 여 최적비율 목록 L i* 를 작성하는 데는 O (ni2) 의 계산이 소요된다. 이상 최적비율 탐색해법의 각 단계로부터 최적 비율 목록 L i* 를 작성하는 데에는 최대 O (ni2 log ni)의 계 산이 소요된다. 따라서 모든 L i* 로부터 목록 L*를 작성하 는 데에 i = 1 m O n i 2  log  n i O n 2  log  n 이 소요된다. 결국 해법의 단계 1에서 계수들을 정렬하는 데에 O (n log n) , 최적비율 탐색해법을 적용하여 목록 L*를 작성하는 데에 O (n2 log n)이므로, 단계 1의 최대 계산양은 O (n2 log n)이 다. 다음으로 해법의 주 회전단계는 단계 2, 3, 4, 5, 6, 7 이다. 단계 2에서는 상수회의 계산이 소요된다. 단계 3에 서는 최대 O (m) 의 비교가 필요하다. 단계 4, 5, 6, 7에서 는 상수회의 계산이 소요된다. 목록 L*의 최대 비율 개수 는 O (n2) 이므로 주 회전단계의 최대 회전수는 O (n2) 이 다. 따라서 주 회전단계에 소요되는 계산은 O (mn2) 이다. 이상으로부터 해법의 단계 1에서 O (n2 log n) , 주 회전단 계에서 O (mn2) 이 소요되므로 제시한 해법의 계산 복잡 도는 max [O (n2 log n), O (mn2) ]이 된다.

    5.수치예제

    다음과 같이 선수 제약을 갖는 다기간 선형계획 문제 에 해법을 적용하여 최적해를 구한다.

    Maximize i = 1 3 j N i c ij x ij

    subject to

    j N 1 a 1 j x 1 j 12 ,

    i = 1 2 j N i a ij x ij 22 ,

    i = 1 3 j N i a ij x ij 44 ,

    j N 1 x 2j = 1

    j N 3 x 3 j = 2 ,

    0 x ij 1 ,   j N i ,   i I = 1 , 2 , 3 .

    여기서, N1 = {1, 2, 3, 4}, N2 = {1, 2, 3, 4}, N3 = {1, 2, 3, 4}, b1 = 12 , b2 = 22 , b3 = 44 , k1 = 2, k2 = 1, k3 = 2이다. 또한, 각 목적함수의 계수 cij , 제약식의 계수 aij 는 다음 표와 같다. Table 1

    <1회>

    0. I= {1, 2, 3}, L i ← ∅, L i* ← ∅, iI , J1 ← {1, 2} , J2 ← {1} , J3 ← {1, 2} , L* ← ∅, Δb1 = 6 , Δb2 = 11, Δb3 = 22 .

    1. 최적비율 탐색해법을 적용하여 최적비율 목록인 L1* , L2* , L3* 를 작성한다. 먼저 첫 기간에 해당하는 최적비 율 목록 L1* 를 다음과 같이 작성한다.

    (1회)

    (1) L1 = {θ1 (1, 2) = 1.00, θ1 (1, 3) = 0.80, θ1 (2, 3) = 0.67, θ1 (1, 4) = 0.63, θ1 (2, 4) = 0.50, θ1 (3, 4) = 0.33}

    (2) θ1 (1, 2) = 1.00 선택(f1 = 1, f2 = 2)

    (3) 1 ∈J1, 2∈J1 이므로 단계 4로 간다.

    (4) L1L1\{θ1 (1, 2)}, 단계 2로 간다.

    (2회)

    (2) θ1 (1, 3) = 0.80 선택(f1 = 1, f2 = 3)

    (3) 1 ∈J1, 3 ∉J1 이므로 J1 = {2, 3}, L1* = {θ1 (1, 3)}, 단계 4로 간다.

    (4) L1L1\{θ1 (1, 3)}, 단계 2로 간다.

    (3회)

    (2) θ1 (2, 3) = 0.67 선택(f1 = 2, f2 = 3)

    (3) 2 ∈J1, 3∈J1 이므로 단계 4로 간다.

    (4) L1L1\{θ1 (2, 3)}, 단계 2로 간다.

    (4회)

    (2) θ1 (1, 4) = 0.63 선택(f1 = 1 , f2 = 4)

    (3) 1 ∉J1, 4 ∉J1 이므로 단계 4로 간다.

    (4) L1L1\{θ1 (1, 4)}, 단계 2로 간다.

    (5회)

    (2) θ1 (2, 4) = 0.50 선택(f1 = 2 , f2 = 4)

    (3) 2 ∈J1, 4 ∉J1 이므로 J1 = {3, 4}, L1* = {θ1 (1, 3), θ1 (2, 4)}, 단계 4로 간다.

    (4) L1L1\{θ1 (2, 4)}, 단계 2로 간다.

    (6회)

    (2) θ1 (3,4) = 0.33 선택(f1 = 3 , f2 = 4)

    (3) 3 ∈J1, 4 ∈J1 이므로 단계 4로 간다.

    (4) L1L1\{θ1 (3, 4)}, L i = ∅ 이므로 과정을 끝 낸다.

    첫 기간에 해당하는 최적비율 목록 L1* 는 다음과 같 이 구해진다.

    L1* = {θ1 (1, 3), θ1 (2, 4)}

    마찬가지로, 다음 두 기간에 해당하는 최적비율 목 록도 다음과 같이 구해진다.

    L2* = {θ2 (1, 3), θ2 (3, 4)}

    L3* = {θ3 (1, 3), θ3 (2, 4)},

    그리고 최종적으로 각 목록 L i* 에 있는 최적비율들을 비율크기의 비증가순으로 정리한 목록 L* 는 다음과 같다.

    L = θ 2 1 , 3 , θ 1 1 , 3 , θ 3 1 , 3 , θ 2 3 , 4 , θ 1 2 , 4 , θ 3 2 , 4

    2. 비율목록 L* 에서 가장 큰 비율 θ2 (1, 3) 을 선택한다 (p = 2 , f1 = 1 , f2 = 3).

    3. 2 ∈I , Δbq = m in {Δb2 = 11, Δb3 = 22} = 11 , q = 2

    4. Δbq (= 11) > a23 = a21 (= 4) , 단계 5로 간다.

    5. Δb2 = 11 = 4 = 7 , Δb3 = 22 = 4 = 18 , J2 = {3}, L*L*\{θ2 (1, 3)}, 단계 2로 간다.

    <2회>

    2. θ1 (1, 3) 을 선택한다(p = 1, f1 = 1, f2 = 3).

    3. 1 ∈I , Δbq = m in {Δb1 = 6, Δb2 = 7, Δb3 = 18} = 6 , q = 1

    4. Δbq (= 6) > a13 = a11 (= 5) , 단계 5로 간다.

    5. Δb1 = 6 = 5 = 1 , Δb2 = 7 = 5 = 2 , Δb3 = 18 = 5 = 13 , J1 = {2, 3}, L*L*\{θ1 (1, 3)}, 단계 2로 간다.

    <3회>

    2. θ3 (1, 3) 을 선택한다(p = 3 , f1 = 1 , f2 = 3).

    3. 3 ∈I , Δbq = m in {Δb3 = 13} = 13 , q = 3

    4. Δbq (= 13) > a33 = a31 (= 7) , 단계 5로 간다.

    5. Δb3 = 13 = 7 = 6 , J3 = {2, 3}, L*L*\{θ3 (1, 3)}, 단계 2로 간다.

    <4회>

    2. θ2 (3, 4) 를 선택한다(p = 2 , f1 = 3 , f2 = 4).

    3. 2 ∈I , Δbq = m in {Δb2 = 2, Δb3 = 6} = 2 , q = 2

    4. Δbq (= 2) < x24 = a23 (= 6) , 단계 6으로 간다.

    6. x24 = 2/6 , x23 = 1 = x24 = 4/6 , J2 = ∅, 6. x24 = 2/6 , a23 = 1 = x24 = 4/6 , J2 = ∅, q(= 2) < m이므로 단계 7로 간다.

    7. I = {3}, Δb3 = 6 = 2 = 4 , L*L*\{θ2 (3, 4)}, 단계 2로 간다.

    <5회>

    2. θ1 (2, 4) 를 선택한다(p = 1 , f1 = 2 , f2 = 4).

    3. 1 ∉I 이므로, 단계 2로 간다.

    <6회>

    2. θ3 (2, 4) 를 선택한다(p = 3 , f1 = 2 , f2 = 4).

    3. 3 ∈I , Δbq = m in {Δb3 = 4} = 4 , q = 3

    4. Δbq (= 4) < a34 = a32 (= 10) , 단계 6으로 간다.

    6. x34 = 4/10 , x32 = 1 = x34 = 6/10 , J3 = {3} q(= 3) = m 이므로, xij = 1, jJ i , iI 로 설정하고 과정을 종료한다.

    이상의 과정을 통해서 구해진 최적해는 다음과 같다.

    x 11 = 0 . 0 ,   x 12 = 1 . 0 ,   x 13 = 1 . 0 ,   x 14 = 0 . 0 , x 21 = 0 . 0 ,   x 22 = 0 . 0 ,   x 23 = 0 . 67 ,   x 24 = 0 . 33 , x 31 = 0 . 0 ,   x 32 = 0 . 6 ,   x 33 = 1 . 0 ,   x 34 = 0 . 4 ,

    6.결 론

    본 연구에서는 선수제약을 가지는 다기간 0-1 배낭문 제를 새로이 정의하였다. 이 문제는 기존의 다기간 배낭 문제[2, 4]와 다중선택 제약 다기간 배낭문제[5]를 포함 하는 확장된 모형이다. 이 확장된 모형은 다기간 배낭문 제처럼 다기간에 걸친 자원배분을 통해 총 이익을 최대 화하는 작업들을 선택할 뿐만 아니라, 각 기간마다 선택 되어야 할 작업의 수를 임의의 여러 개로 조정할 수 있 는 모형이다.

    본 논문에서는 이 확장된 모형이 선형계획으로 완화된 문제에 대해 연구하였다. 이 문제를 선수제약 다기간 선 형계획 배낭문제라 부른다. 이 선형계획 문제는 확장된 모형의 정수 최적해를 구하기 위한 분지한계법의 한계전 략으로 사용된다. 따라서 이 선형계획 문제의 최적해를 신속히 찾을 수 있는 효율적인 해법의 개발이 필요하다.

    해법 개발을 위해 선수제약 다기간 선형계획 배낭문제 를 각각의 기간에 대응되는 여러 부문제로 분해하였다. 이 부문제는 선수제약을 갖는 이차원 선형계획 배낭문제 의 형태로 발생한다. 부문제가 갖는 최적기저 변화의 특 성을 정리하고, 이를 활용하여 문제의 다기간 제약구조가 갖는 자원 배분시의 분배특성을 분석함으로써 문제의 최 적해를 효율적으로 찾는 해법을 개발하였다. 해법의 계산 복잡도는 max[O (n2 log n) , O (mn2) ]으로 분석되었다.

    Figure

    Table

    Coefficients of Example Problem

    Reference

    1. Campello RE , Maculan NF (1987) Lagrangean relaxation for a lower bound to a set partitioning problem with side constraints : properties and algorithms , Discrete Applied Mathematics, Vol.18 (2) ; pp.119-136
    2. Dudzinski K , Walukiewicz S (1985) On the multiperiod binary knapsack problem , Bulletin of the Polish Academy of Sciences Technical Sciences, Vol.33 ; pp.85-91
    3. Dudzinski K (1989) On a cardinality constrained linear programming knapsack problem , Operations Research letters, Vol.8 (4) ; pp.215-218
    4. Faaland BH (1981) The multiperiod knapsack problem , Operations Research, Vol.29 ; pp.612-616
    5. Lin E , Wu C (2004) The multiple-choice multi-period knapsack problem , Journal of the Operational Research Society, Vol.55 ; pp.187-197
    6. Won JY (2001) On a two dimensional linear programming knapsack problem with the extended GUB constraint , Journal of the Korean Institute of Industrial Engineers, Vol.27 (1) ; pp.25-29
    7. Won JY (1998) The generalized continuous multiple-choice linear knapsack problem with generalized lower bound constraints , Journal of Society of Korea Industrial and Systems Engineering, Vol.21 (45) ; pp.291-299