A Teaching-Learning-Based Optimization Algorithm for the Weighted Set-Covering Problem

: The need to make good use of resources has allowed metaheuristics to become a tool to achieve this goal. There are a number of complex problems to solve, among which is the Set-Covering Problem, which is a representation of a type of combinatorial optimization problem, which has been applied to several real industrial problems. We use a binary version of the optimization algorithm based on teaching and learning to solve the problem, incorporating various binarization schemes, in order to solve the binary problem. In this paper, several binarization techniques are implemented in the teaching/learning based optimization algorithm, which presents only the minimum parameters to be configured such as the population and number of iterations to be evaluated. The performance of metaheuristic was evaluated through 65 benchmark instances. The results obtained are promising compared to those found in the literature.


INTRODUCTION
The Set-Covering Problem (SCP) is a combinatorial problem included in the list by Karp of 21 NP-complete problems [1]. The SCP has many applications, such as cutting stock problems, balancing production and airline crew scheduling [2,3].
We propose to use an algorithm to solve the SCP that could find a global optimum or a closer value in a shorter amount of time. The proposed algorithm is a metaheuristic optimization algorithm known as the Teaching Learning-Based Optimization (TLBO) algorithm, which is characterized by no additional parameter requirements.
The implementation of metaheuristic techniques to solve highly complex problems is an open research field in constant evolution. Several metaheuristics have been used to solve complex problems, such as: Classification Subsystem in a Series Hybrid Electric Vehicle Using Particle Swarm Optimization modified by Fuzzy [4], The problem of Optimal Power Flow (OPF) Using Reactive Power Optimization [5], Optimization of bridges Reinforcement with Tied-Arch Using Moth Search Algorithm [6].
The TLBO is used for real-world problems; an example of this is multi-level production planning in the petrochemical industry [7] or the combinatorial optimization problem in the foundry industry [8], in the problem of Metal Inert Gas (MIG) welding process optimization [9], Optimization of Surface Roughness in Plasma Arc Cutting [10], in Methods for GPS Receiver Position Estimation [11] and solar photovoltaic parameter estimation [12] among other problems.
In order to solve a binary problem such as SCP, we have incorporated a binary process in the TLBO metaheuristics, which consists of transferring the continuous values of the MH to binary values in order to solve the SCP. This is achieved by using a transfer function in conjunction with a binary function [13].
To evaluate the performance of the binary version of TLBO (bTLBO), we use the OR-library benchmark [14], where we evaluated 65 instances, using the different binary schemes composed by 8 transfer functions and 5 binary functions, giving a total of 40 evaluated combinations. The best results are compared with results from the literature through the Wilcoxon statistical test.
Although it is true that the optimum results were not obtained in all or most instances, the performance of bTLBO metaheuristics obtains promising results, statistically competitive with results from the literature, after not finding significance under the Wilcoxon test, which opens a research opportunity for the incorporation of other techniques such as hybridization, Autonomous Search (AS), techniques inspired by Machine Learning, among others.
This document is organized as follows, section 2 presents a description of the SCP, section 3 presents the TLBO algorithm, together with the transfer and bination functions, while section 4 presents the results and section 5 the working conclusions.

SET COVERING PROBLEM
The problem is mathematically represented as follows: Let A = (aij), a binary matrix (0, 1) of dimensions m × n; C = (c j ), a vector n dimensional; I = {1, …, m} is a set of rows; J = {1, …, n} is a set of columns. Given c j > 0 for , representing the cost of selecting column j of matrix A. If ij a ∈ A is equal to 1, we say that column j covers row i; otherwise, row i is not covered. In the SCP, the objective is to find a minimum cost subset of columns in matrix A such that each row is covered by at least one column in subset S. We can formulate the SCP mathematically as follows: Subject to: Other metaheuristics that have solved the SCP are the Cuckoo Search (CS) [15], Simulated Annealing (SA) [16], Black Hole (BH) [17], Ant Colony Optimization (ACO) [18], Intelligent Water Drops (IWD) [19] Particle Swarm Optimization (PSO) [20], Artificial Bee Colony (ABC) [21] and Firefly Algorithms (FA) [22].

Pre-Processing
The SCP is considered a NP-Hard problem because there is no polynomial time solution available, and the application of the exact algorithms to the large-scale instances is very time-consuming. For this reason, we use preprocessing to reduce the size of the instances [23].
Column Domination [14]: If column j has rows Ij covered by other columns, with a total cost lower than c j , then column j is dominated and is deleted from the solution. Algorithm 1 shows how Column Domination works.
Column Inclusion [14]: If a row is covered by a single column after applying the previous point, it must be incorporated into the solution.
Algorithm 1 Column Domination 1: Order all the columns by cost, ascending 2: if two or more columns have the same cost, then 3: Order those columns by the amount of rows I j covered by Column j, descending 4: Check if rows I j can be covered by a set of other columns with a cost lower than c j 5: if the cost is lower, then 6: Column j is dominated and then removed 7: end if 8: end if

TEACHING LEARNING BASED OPTIMIZATION ALGORITHM
TLBO is a population method based on the knowledge that a teacher in a classroom that is shared with students improves the knowledge level of the class. Moreover, the students are evaluated by the value of the qualification average of the students in the class. Additionally, the results can be improved with learning that occurs with the interaction between students.
The population is composed of a group of students, and the variables constitute the subjects offered; finally, the fitness corresponds to the learning results of the students. In the entire population, the best solution is considered by the teacher.
TLBO is composed of two phases, the Teacher Phase and the Learner Phase.

Teacher Phase
A random sample and orderly points are generated, which are the learners in the search space. A point considers the wisest person to be a teacher who shares his knowledge with students. It is the first part of the algorithm where the mean of a class increases from MA to M B depending upon the strength of the teacher. A good teacher tries to bring their pupils to their own knowledge level. In practice, this is not possible, and a teacher can only move the mean of a class up to a certain extent depending on the capability of the class. This method follows a random process depending on many factors.
Let M i be the mean and T i be the teacher at any iteration i. T i will try to move M i towards its own level; thus, the new mean will be T i , designated M new . The solution is updated according to the difference between the existing and the new mean given in Eq (4): where T F is a teaching factor that decides the value of the mean to be changed, and rand is a random value between 0 and 1. The value of T F can be either 1 or 2, which is again a heuristic step and is randomly decided with equal probability using the following Eq. (5) [24]: This difference modifies the existing solution by means of Eq. (6) [25]:

Learner Phase
The students increase their knowledge by interactions among themselves. A solution is randomly interacted to learn something new with other solutions in the population. A solution will learn new information if the other solutions have more knowledge than him or her. The learning phenomenon of this phase is expressed by Eq. (7): At any solution , considering two different learners x i and x j , where i j ≠ . Consequently, we accept x new if it gives a better function value. After a number of sequential teaching learning cycles, the teacher passes on knowledge to the learners, and those levels increase towards his or her own level; the randomness distribution within the search space decreases, close to the point of being considered a teacher. The algorithm converges to a solution when the knowledge level of a class shows smoothness. The term criterion can be the number of evaluations or can reach a maximum number of iterations as previously established. The TLBO steps can be summarized as follows: Step 1: Define the problem and initialize the parameters.
Step 2: Initialize the population.
Step 3: Students learn from the teacher.
Step 4: Students refine their knowledge through interactions with peers.
Step 5: Evaluate the stopping condition. If it continues, go to Step 3; otherwise, stop.

bTLBO Repair Operator
In bTLBO, a constraint handling strategy named the repair strategy, also called a repair operator, is used to repair the information that is consistent in the heuristic algorithm for transforming an infeasible solution into a feasible one.
Sometimes it is necessary to repair unviable solutions because it is not possible to cover some rows. For this, we use a repair operator from Beasley [14], as shown in Eq. (8): Cost of a column number of uncovered rows which it covers (8) When a column is deleted and the solution remains feasible, it is said that this column is redundant. For that reason, it is necessary to remove the column using algorithm 3, where S is the set of columns of the solution, U is the set of rows not covered and w i is the number of columns that cover the row i, i I ∀ ∈ in the solution.

bTLBO
To calculate the velocity of each student (in both phases), the following Eq. (9) and Eq. (10) are used: A binary vector represents the position as well as a floating point vector of the velocity, using the velocity for the change in the probability from 0 to 1 when the position is updated. In the binary vector, the version is replaced with Eq. (6) by Eq. (9) for the teacher phase, and Eq. (7) is replaced by Eq. (10) for the learner phase. In both equations, rand represent a random number between 0 and 1.

Binarization Schemes
The problems are within the search space in the real variables and can continuously be converted into binary problems. A binary space search has similar structure limitations and can be considered similar to a hypercube. The agents of the binary optimization algorithm can only pass from a near nook to the furthest area in the hypercube by changing several bits.
The transfer functions (TF) represent a probability to change an element of the solution from 1 to 0, or vice versa. These functions lead the motion in a binary space. We solve these problems with 8TF, also used by Mirjalili in [26], by separating them into the following 2 groups: the function type S-shape and the function type V-Shape. (Tab.  1, Fig. 1).
Therefore, the TF and five discretization methods were used, as described below.

Standard
The standard method is more commonly used for allocating a binary element because an aleatory variable is responsible for deciding if the value will be 0 or 1, as an indication Eq. (11).

Elitist
In this Eq. (12), the value of the best learner is allocated if the aleatory value is contained in the probability of the aforementioned variable; if not, 0 is allocated.

Complement
If the random value is in the range of the probability that is allocated, the complement of the value is as follows Eq. (13):

Static Probability
In this Eq. (14), the variable is assigned if the probability is less than α, where α is a parameter that should be considered. The variable is assigned to the best case if the probability is in the range between α and 1 = 2(1 + α); in any other case, the variable remains.

Elitist Roulette
This method is similar to the Elitist Roulette o MonteCarlo Selection. Each population individual is allocated a proportional part to the roulette setting so that the sum of all the parts becomes the unit. The best individuals will receive a higher roulette portion than the worst individuals. Generally, the population is arranged based on the largest portion size at the beginning of the process. An individual is chosen by generating a random roulette number, and the individual located in that position is returned as follow Eq. (15): where f i is the fitness of a candidate solution represented by a learner, and k is the total number of learners.

EXPERIMENTAL RESULTS
The 65 instances from Beasley's OR-Library are used in the experiments in this study [27]. For each instance, the algorithm was executed 30 times to use the average of the results obtained. Each instance was pre-processed by using the methods defined in Section 2 with 20 students and 100 iterations.
To implement the algorithm, the Java Programming Language and a computer with a Windows 10 operating system, 16 GB of RAM, and an i7-6700 processor are used.
We compared our binary learning and teaching based optimization algorithm (bTLBO) with the global optimal (Zopt) in [27], as well as with recent work solving SCP based on bio-inspired metaheuristics. The metaheuristics are: Binary Cat Swarm Optimization (BCSO) [28], Binary Firefly Optimization (BFO) [22], Binary Shuffled Frog Leaping Algorithm (BSFLA) [29], Binary Electromagnetism -Like Algorithm (BELA) [30], and Binary Artificial Bee Colony (BABC) [31]. The results are summarized in Tab. 2, where the first column details the instances to be solved, the next one the Zopt value that corresponds to the optimal value of each instance, while the following columns present the best fitness obtained, while the last rows detail the average values and p-value corresponding to each column.
To perform the statistical analysis in this study, we use the following tests: Kolmogorov-Smirnov-Lilliefors [32] is used to determine the independence of samples.
Wilcoxon's Signed Rank [33] is used to verify superiority of the strategy of resolution using bTLBO in relation to the other metaheuristics.  For both tests, we use a significance level of 0.05, that is, values smaller than 0.05 indicate that the corresponding hypothesis cannot be assumed. For the first test, the following hypothesis is used: H0 = Data follow a normal distribution. H1 = Data do not follow a normal distribution.
Given the p-values obtained in the tests, the hypothesis is rejected.
The Wilcoxon-Mann-Whitney [33] test is then applied. To verify superiority of the resolution bTLBO in relation to other techniques, the following hypotheses are defined: H0 = bTLBO Other MH. ≥ H1 = Other MH bTLBO.
< The statistical program R [34] is used to obtain the pvalue, if this value is less than 0.05, we can affirm that the hypothesis H0 is rejected and H1 is accepted, which implies that bTLBO would provide better results. This procedure is repeated with all the techniques to be compared.

CONCLUSIONS
In this work, bTLBO was applied to resolve the SCP, and various transfer functions were used along with binary functions to resolve 65 instances of OR-library. For the obtained solutions, 4 optimums were reached in the instances 5.7, 6.4, B.3 and B.5. Other results are very close to the optimal values, but others, like NRG.1 or C.3, were not.
This MH has a promising performance considering on one hand the few iterations made to obtain the presented results, together with a lack of parameters to configure, as it is the case of most MH techniques, which constitutes in itself an optimization problem. With techniques like this, where the configuration and implementation does not present major difficulties, the use of these optimization techniques is facilitated for real world problems, where they are usually implemented by users who are not experts in these techniques.
TLBO, being a global stochastic algorithm, which bases its behaviour on imitating the relationship between learners and a teacher, has advantages over other techniques due to its fauclistic structure of understanding and implementation, along with its high speed in obtaining results.
In future works, we propose to use other discretization techniques, such as those shown in the work of Crawford et al. [13], in addition to using techniques inspired by Machine Learning such as [35,36].