Each text file represents a CKP instance containing functions that have been generated using spesific criteria.
Text file name:
The file name represents the characteristics used to generate the data within the dataset
aaaaa_bb_cccc_dd_ee
aaaaa: the number of functions (n) in the dataset
bb: the average slope (s) of each function. The slope of the functions in the data set ranges between 0 and the value of bb.
cccc: the maximum upper bound (M) of any function in the dataset
dd: the percentage to calculate the minimum upper bound (N) of any function in the data set.
ee: the instance number
For example: In a dataset where M is 300 and N = 50%, the upper bound values of all the functions in that dataset will be between 150 and 300 (N * M).
Functions used to generate the data sets:
Four families of functions have been used to generate the test scenarios.
The Latex code of the functions:
Function #1: f_i(x_i) & = -s_i(1 - e^{-m_ix_i})
Function #2: f_i(x_i) & = -s_ix_i + m_ix_i^2
Function #3: f_i(x_i) & = -\frac{s_i (x_i + c_i)}{x_i + m_i}, m_i > c_i
Function #4: f_i(x_i) & = -s_i \text{ln}(1+ m_ix_i)
Textfile layout:
Each file consists of the following columns that is tab delimited:
Function family: the value that corresponds with the 4 families above
Lower bound value of variable
Upper bound value of variable
Average slope of the function
M 'refers to the m_i above
C 'refers to the c_i above
S 'refers to the s_i above
The laste input that is needed is the size of the knapsack (B). We used the ceiling of 0.5*(sum of all the upper bounds), 0.75*(sum of all the upper bounds) and 0.95*(sum of all the upper bounds) resulting in three CKP instances per text file.