A Compromise Programming for Multi-Objective Task Assignment Problem

: The problem of scheduling is an area that has attracted a lot of attention from researchers for many years. Its goal is to optimize resources in the system. The lecturer’s assigning task is an example of the timetabling problem, a class of scheduling. This study introduces a mathematical model to assign constrained tasks (the time and required skills) to university lecturers. Our model is capable of generating a calendar that maximizes faculty expectations. The formulated problem is in the form of a multi-objective problem that requires the trade-off between two or more conﬂicting objectives to indicate the optimal solution. We use the compromise programming approach to the multi-objective problem to solve this. We then proposed the new version of the Genetic Algorithm to solve the introduced model. Finally, we tested the model and algorithm with real scheduling data, including 139 sections of 17 subjects to 27 lecturers in 10 timeslots. Finally, a web application supports the decision-maker to visualize and manipulate the obtained results.


Background
In many fields such as production management, engineering . . . etc., scheduling plays a key role in productivity enhancement. The scheduling process is responsible for assigning machines and resources to tasks such that all tasks are executed while meeting business constraints. In the training institutions, the scheduling problems are mostly presented in the form of timetabling problems. The university timetabling problem's goal is to find a method to allocate the predefined resources that minimize the cost where all constraints within the problem must be satisfied. The resources here consist of classes (groups of students with the same schedule), a subject that requires one or more specific skills and knowledge, time slots that determine when a particular class and subject are attached. The university usually performs a scheduling task before a semester begins [1][2][3][4][5]. The teaching assignment problem, in essence, is a branch of the timetabling problem. The scheduler must assign courses to trainers to satisfy the professional constraints and working time [6]. A lecturer can teach only the courses that they are qualified in, and at their available timeslots.
This research was conducted on a practical case study at FPT University in Vietnam. Currently, the university's scheduling process is a manual process. In the situation, the student can register for their studies very soon before the department head has enough resources to determine the final schedule (of course, some classes could be canceled due to lack of resources later). The training department creates groups of students who would like to study the same subject based on the registrations and select the time slots. However, the department heads still need to assign their lecturer to teach these classes later. The reason for this is that we are student-centered. Other resources revolve around students to like to study the same subject based on the registrations and select the time slots. However, the department heads still need to assign their lecturer to teach these classes later. The reason for this is that we are student-centered. Other resources revolve around students to support them. In short words, the lecturers' timetables are considered last. The project aims to provide an automated task assignment tool to replace the manual process of matching lecturers to their courses, as shown in Figure 1. The system assigns these courses to the lecturers based on their skills and expectations (more detail in Section 2).

Task Assignment
Course ID

Related Work
There have been many studies on the problem of university scheduling. Many of them have used an integer programming (IP) model to formulate the problem. For example, Andrade et al. have built a Non-Linear Binary Integer Programming mathematical model to develop the school timetabling problem, which is used to assign teaching tasks to teachers at a defined time frame [1]. Gianpaolo et al. proposed an Integer Programming formulation of selecting the training offer and the related timetabling for high-school remedial courses subject to constraints on budget and business operations [3]. Daskalaki et al. presented a binary integer programming model of the university timetabling problem, which tries to minimize the linear cost function [7]. Feng et al. developed a mixed-integer linear program for the university timetabling problem. The original problem converted to the three-dimensional container packing problem. They consider day, period, and room as the three dimensions of one container and the lectures as different sized items then assign them into the container [8].
Several researchers proposed models focused on assignments for rooms and time slots to achieve workable schedules while optimizing the lecturer's interests. For example, Nouri and Driss [9,10] use the multi-agent approach, where the agents represent teachers of different levels and seek to assign their lectures according to their interests. Higherranking teachers are given priority in meeting their interests. Malik et al. built a model for mapping the task to the lecturer that maximizes their preference on the time-slot [11]. There are many different views about the compact schedule. The goal is to avoid idle time on the teacher's plan and minimize working days [12,13].
The task assignment problems exist in many different forms. While some of them, like the classical problem, have polynomial-time solutions [14], others are NP-hard combination optimization problems [15] that require approximation approaches. A metaheuristic is widely known [16]. In [17], Lewis classifies several metaheuristic-based techniques into three classes for University Timetabling problems in their survey. Muthuraman and Venkatesan also conducted a survey of meta-heuristic algorithms for solving combinatorial optimization problems [18]. They reviewed several algorithms, such as ant colony optimization, evolutionary computation, particle swarm optimization, etc. Many researchers used genetic algorithms, an evolutionary algorithm to solve scheduling problems, and

Related Work
There have been many studies on the problem of university scheduling. Many of them have used an integer programming (IP) model to formulate the problem. For example, Andrade et al. have built a Non-Linear Binary Integer Programming mathematical model to develop the school timetabling problem, which is used to assign teaching tasks to teachers at a defined time frame [1]. Gianpaolo et al. proposed an Integer Programming formulation of selecting the training offer and the related timetabling for high-school remedial courses subject to constraints on budget and business operations [3]. Daskalaki et al. presented a binary integer programming model of the university timetabling problem, which tries to minimize the linear cost function [7]. Feng et al. developed a mixed-integer linear program for the university timetabling problem. The original problem converted to the three-dimensional container packing problem. They consider day, period, and room as the three dimensions of one container and the lectures as different sized items then assign them into the container [8].
Several researchers proposed models focused on assignments for rooms and time slots to achieve workable schedules while optimizing the lecturer's interests. For example, Nouri and Driss [9,10] use the multi-agent approach, where the agents represent teachers of different levels and seek to assign their lectures according to their interests. Higher-ranking teachers are given priority in meeting their interests. Malik et al. built a model for mapping the task to the lecturer that maximizes their preference on the time-slot [11]. There are many different views about the compact schedule. The goal is to avoid idle time on the teacher's plan and minimize working days [12,13].
The task assignment problems exist in many different forms. While some of them, like the classical problem, have polynomial-time solutions [14], others are NP-hard combination optimization problems [15] that require approximation approaches. A metaheuristic is widely known [16]. In [17], Lewis classifies several metaheuristic-based techniques into three classes for University Timetabling problems in their survey. Muthuraman and Venkatesan also conducted a survey of meta-heuristic algorithms for solving combinatorial optimization problems [18]. They reviewed several algorithms, such as ant colony optimization, evolutionary computation, particle swarm optimization, etc. Many researchers used genetic algorithms, an evolutionary algorithm to solve scheduling problems, and task assignment problems [19][20][21]. Genetic Algorithm generates high-quality solutions to optimization and search problems. A particular researcher can have different designs of the Genetic Algorithm to solve specific problems. Feng et al. combine genetic algorithms and search strategies to create offspring in populations based on information collected from the best individuals of previous generations and with a local search that improves the efficacy of the proposed Genetic Algorithm [8]. Yang develops an efficient hybrid genetic algorithm based on algorithms for the converted problem [22]. In [23], Corne suggested some of timetabling constraints including: unary constraints, binary constraints, capacity constraints, event spread constraints, agent constraints.
The common of the above studies is that they basically have the right target orientation to handle timetabling. However, the proposed model is too simple. It does not cover enough the achievements that complex business required. University lecturers are experts, enabling them to perform their jobs as important as cost optimization. The preferences of the trainer have not been properly considered in the resource optimization process. The use of metaheuristic algorithm to solve the combinatorial optimization problem is a reasonable direction. This study introduces a multi-objective optimization problem that used binary integer decision variables and a version of the Genetic Algorithm to solve the task assignment problem mentioned in Section 1.1.

Contribution
In this study, we present an approach to construct a task assignment support system for the university-the research output, including an optimization model, algorithm, and software application for actual use. The application plays a stage in the automatic scheduling solution at FPT University. It is a new variant of the teaching task assignment problem. The related research to the scheduling and task assignment may benefit from our study. Our mission is to arrange the teaching tasks for available human resources. We built a multi-objectives model that accesses each individual's level of interest assigned to the job, providing a binding compliance solution. Our proposed model covers more business requirements than previous works since the many aspects of lecturer preferences are considered. The optimization model of the problem is described in Section 2.
There are many ways to solve the proposed optimization model. We choose compromising programming to transform the multi-objective problem into a single-objective problem. Each MOP approach has its advantages and disadvantages and is suitable for different decision-makers groups. Still, compromise programming works extremely better if no preference is indicated (it is assumed that the people are treated equally). We have implemented a Genetic Algorithm that solves both optimal models of a target mentioned above-the detail of the implementation is described in Section 3. In the following sections of this paper, we present our experiments using the scheduling data of Computer Fundamentals at FPT University. A review of the algorithm is also discussed in Section 4. The remaining are discussion and conclusion.

Multi-Objective Task Assignment Problem
In this research, we also define our timetable problem in the form of IP as follows: T is the number of available time slots, in our case, T = 10 as described in Table 1.

•
H is the number of section, a section represents a particular class studies a specific subject at a timeslot. • c h , s h , t h are class, subject, and time slot of section h-th respectively. • D g is a number of classes that lecturer g-th prefers to teach. • M g is a minimum number of classes that the lecturer g-th has to teach. • a s,g ≥ 0 as integer for every s = 1 . . . S, g = 1 . . . G represent the rating of the lecturer g-th to teach subject s-th. The value 0 indicates that the lecturer does not want to teach the subject. Other values respectively mean "like a little" to "like very much". • b t,g ≥ 0 as integer for every t = 1 . . . T, g = 1 . . . G denote the rating of the lecturer g-th to teach at time slot t-th. The value 0 indicates that the lecturer does not want to teach at the time slot. Other values respectively mean "like a little" to "like very much." • x h,g is the decision variable for every h = 1 . . . H, g = 1 . . . G. x h, g = 1 if the lecturer g-th is assigned to section h-th, x h,g = 0 otherwise. We define several constraints to the problem as follows: • All section must be assigned lecturer and at most one lecturer is assigned to a section.
• A particular lecturer does not teach the subject that he/she does not have skill.
• A particular lecturer does not teach at the time-slot that he/she is not available.
• All lecturers have to satisfy the quota for the number of sections they have to teach.
In this research, we have defined some objectives functions that maximize the lecturer's preference level on time-slots, subjects, and the number of classes that the lecturer expects to teach. The objective functions described as follows: • Maximize the expectations of the lecturers on the subject they want to teach.
• Maximize the expectations of the lecturers on the time slots they want to teach.
• Minimize the errors on the number of classes that the lecturers want to teach. Minimize the number of parts of the day, which lecturers must work (morning, afternoon every day). The lecturer would register three classes, even if he expressed his interest in all of the time-slots. It is better to assign him/her to work in the slot-times (E1, E2, E3) instead of (E1, E4, M1): where pod is a fuzzy logic membership function that returns the rating for the number of parts of the day, which lecturers have to work, the detailed implementation can be different in different situations. We show our implementation in the part of the experiment to suit the context of FPT University. The proposed model is in the form of a multi-objective programming problem (MOP) [24]. Since there are often many Pareto optimization solutions for MOP problems, solving such a problem is not as simple as a typical single goal optimization problem. In the following sections, we present an approach to transform the optimal problem into a more suitable form to find the optimal solution in the decision space.

Compromise Programming for MOP
Our proposed scheduling problem becomes MOP. There are two main approaches to solving the MOP problem: preference method and non-preference method, as mentioned in Hwang's survey [24]. The most useful solution is found using different philosophies that depending on the subjective preferences of the decision-makers. In the decisionmaking process, decision-makers can place interest in each criterion according to his/her subjective preferences. Here, the decision-maker should be an expert in the domain. It is challenging to find the desired weights for different objectives. This section of this paper discusses the compromise programming approach that requires no pre-defined decision-maker preferences.
The problem of 4*G objective functions is complicated for decision-makers to define the weights corresponding to each lecturer. There are many proposed methods to solve multi-objective problems. Zeleny [25] introduced the ideal solution defined as the bestcompromise solution that is the nearest to perfection. Ngo et al. [26][27][28] applied compromise programming to solve the problem of the binary objective in team selection, where they introduced the idea point E and try to find the solution that has minimum distance to E. Mahmudova used a variant of compromise programming called TOPSIS to identify the criteria and alternatives for software. They chose an alternate variant that has to be at the shortest Euclidean distance from the positive ideal solution and the farthest Euclidean distance from the negative ideal solution. The value of best and worst alternatives to software efficiency was found using the estimates of professional programmers [29]. Xu et al. determined the best compromise solution using a linear fuzzy membership function that represents the degree of achievement of an objective function as a value between 0 and 1. The best compromise solution is the one that archived the highest value of the normalized membership function µ k calculated at the k-th solution [30]. Wei and Tian used a fuzzy statistic algorithm to select the best compromise solutions after obtaining Pareto-optimal solutions [31].
When the decision-maker stands in the view of lecturers, they declare their preferences on subjects and time-slots. It is hard to find the solution to archive the best, but we can define the best schedule they expect. The only goal left is to find a solution that is closest to this predefined point. The question we may ask decision-maker and predictable answer for them is as follows: • How much faculty satisfaction on preferred time-slot and skill is good? Ideally, what they receive should be what they expect.
The decision-maker mostly provides this pair of the above question and answer for the time-slot, skill, number of courses, and part of the days they have to work. The objective function is now expressed as follow: Where E g = E g,1 , E g,2 , . . . , E g,T , E g,T+1 , E g,T+2 is the vector of expected timetable for lecturer g-th, such that The norm denotes the normalization function, is max rating for the number of parts of the days that a lecturer has to work.
is the vector of final timetable for lecturer g-th, such that: is the vector of the worse timetable for lecturer g-th, such that: The original multi-objective functions (O1), (O2), (O3), and (O4) are rewritten in the form of compromise problem (CP):

Introduction to Genetic Algorithm
The Genetic Algorithm [32,33] is a population-based metaheuristic method extensively used in scheduling problems. It searches a solution space for the optimal solution to a problem. This search is done in a fashion that mimics the operation of evolution. In essence, a "population" of possible solutions formed, and new solutions are created by "breeding" the best individual from the population's members to build a new generation. When the algorithm converged after several generations, the best solution returned. Genetic algorithms are particularly useful for problems where it is extremely difficult or impossible to get an exact answer or severe problems where a correct solution may not be required. They offer an exciting alternative to the typical algorithmic solution methods and are highly customizable. This notion can apply to a search problem. We consider a set of solutions for a challenge and select the set of best ones out of them. There are five phases considered in a genetic algorithm. This study introduces a version of the Genetic Algorithm to solve the MOP model Compromise Programming approach with a new added phase called "repair" to correct the errors. The flow of the proposed scheme is displayed in Figure 2. returned. Genetic algorithms are particularly useful for problems where it is extremely difficult or impossible to get an exact answer or severe problems where a correct solution may not be required. They offer an exciting alternative to the typical algorithmic solution methods and are highly customizable. This notion can apply to a search problem. We consider a set of solutions for a challenge and select the set of best ones out of them. There are five phases considered in a genetic algorithm. This study introduces a version of the Genetic Algorithm to solve the MOP model Compromise Programming approach with a new added phase called "repair" to correct the errors. The flow of the proposed scheme is displayed in Figure 2.

Genetic Representation
Chromosome is represented as a matrix of rows and columns, rows -th represent the section assignment for lecturer -th. Cell ( , ) contains section lecturer g-th assigned to time-slot -th, or 0 if lecturer g-th is not assigned to any section at the time-slot -th.

Fitness Function
The fitness function contains two components: the penalty function and the objective function. While the objective function focuses on optimizing the lecturer's satisfaction, the penalty function deals with constraints. We separate constraints into two groups, group 1st includes constraint (H4) handled by penalty function and group 2nd includes the remaining constraints (H1), (H2), (H3) handled by repair mechanism described in Section 3.2.4. So, we have the fitness function: , denote penalty function, objective function, penalty function weight, and objective function weight respectively. We normalize the penalty function, objective function, and weights to 0-1 range. So we have the constraints: 0 ≤ , ≤ 1, and + = 1. Let be the number of lecturer violate constraint (H4), the penalty function is normalized as follows:

Genetic Representation
Chromosome is represented as a matrix of G rows and T columns, rows i-th represent the section assignment for lecturer i-th. Cell (g, t) contains section lecturer g-th assigned to time-slot t-th, or 0 if lecturer g-th is not assigned to any section at the time-slot t-th.

Fitness Function
The fitness function contains two components: the penalty function and the objective function. While the objective function focuses on optimizing the lecturer's satisfaction, the penalty function deals with constraints. We separate constraints into two groups, group 1st includes constraint (H4) handled by penalty function and group 2nd includes the remaining constraints (H1), (H2), (H3) handled by repair mechanism described in Section 3.2.4. So, we have the fitness function: f = w pen * pen + w obj * obj where pen, obj, w pen , w obj denote penalty function, objective function, penalty function weight, and objective function weight respectively. We normalize the penalty function, objective function, and weights to 0-1 range. So we have the constraints: 0 ≤ w pen , w obj ≤ 1, and w pen + w obj = 1. Let V be the number of lecturer violate constraint (H4), the penalty function is normalized as follows:

Algorithm Operations
Denote: • U represents the size of the population. • ∂ t as the set of sections that learn at time-slot t-th. • ϕ as the tournament size for selection. • B as the mutation rate Step 1: Generate the initial population: Columns k-th of an individual p e i contain ∂ k and exactly G − |∂ k | number 0. So, for each column k | k = 1 . . . T, fill ∂ k and G − |∂ k | number 0 to that column, and shuffle its element to ensure the randomness of the initialized population. After filling all columns to chromosome matrix, apply repair operator to ensure the created chromosome respects constraints (H1), (H2), and (H3).
Step 2: Selection: we implemented the selection process based on Tournament Selection [34]. Randomly select ϕ individuals from P e and perform a tournament that return the best individuals based on fitness value among them.
Step 3: Crossover: p e f ather and p e mother are the parents to crossover. The set of numbers in each column of p e f ather and p e mother is permutation of each other, so we can choose any ordered crossover method to apply. Partially mapped crossover (PMX) [35] is one of the most effective crossover techniques for ordered list, so it is chosen in this study.
Step 4: Mutation: For each individual p e i , have rate B to swap only once for any two elements in any column. Similar to generating initial population process, the created chromosome after performing crossover and mutation must be applied to repair operator to ensure there are no invalid results during the processing.

Repair Process
Input a chromosome matrix p which may violate constraints (H1), (H2), and (H3), genetic repair operator rearrange elements in p so that new chromosome p satisfies all these constraints. Moreover, p should retain as many p s genes as possible. The purpose we combine constraints (H1), (H2), (H3) into one group is because it is very easy to convert them into the maximum matching problem in bipartite graph. In this study, we use the Hopcroft-Karp algorithm [36], a polynomial algorithm to find the maximum matching. The repair process is performed in three steps as follows: Step 1: Build a graph } = (V, E ), with vertex set V = X ∪ Y, X represents vertex set of G × T items for each lecturer in each timeslot, Y represents vertex set of H items represent for sections. For each vertex } ∈ X (} is the vertex represents for lecturer g-th at timeslot t-th), h ∈ Y (h is the vertex represents for section h th ), we add an edge from } to h if and only if t = t h , a s h ,g > 0 and b t,g > 0.
Step 2: For each lecturer g | g = 1 . . . G at each timeslot t | t = 1 . . . T, pair the vertex u ∈ X (u is the vertex represents for lecturer g-th at timeslot t-th) to vertex v ∈ Y (v is the vertex represents for section p th g,t ) if p g,t > 0 and the pairing does not violate any constraints in (H1), (H2), (H3). This step aims to retain the good genes from p.
Step 3: Apply the Hopcroft-Karp algorithm to graph } built in step 1 with pre matching in step 2, we get the final matching which represents the repaired chromosome p .

Experiment and Result
To evaluate the proposed model and algorithm, we use the data collected in the spring semester of 2020 of the Computing Fundamental department at FPT University. A total of H = 139 sections of S = 17 subjects were assigned to G = 27 lecturers. The pod function's returned values were collected depending on the different business settings. Table 1 illustrates the definition of the timeslots at the institution. The merged cells described that two real-life slots are marked as the same time slot in the mathematical model.
We construct a fuzzy function pod to fit the definition of the timeslots as the following algorithms. Our goal is to determine the number of sessions per day that the instructor must be in college and rate it. A good schedule that is matching the number of sections to teach with the number of part of days that lecturer has to present at the school gain 100% satisfaction ( points). Satisfaction is inversely proportional to the instructor's waiting time. For some situations, when hiring qualified lecturers is not easy work, a compact schedule in the aspect

6: Return Num
We built a webpage to collect lecturer preferences of the subjects, time-slots, and the number of time-slots they want to teach, as shown in Figure 3. The preferences gathering process needs to be done before starting the scheduler triggered. The lecturers use their personal accounts to make declarations with the system. In this experiment, we set the preferences received the values in the range of a s,g ∈ [0 . . . 5] and b t,g ∈ [0 . . . 5].
The developed system described in this report was deployed on a computer configured as follows: Processor: Intel(R) Xeon(R) CPU X5650 @2.67 GHz (4 CPUs),~2.3 GHz; Memory: 8096 MB RAM; all code implemented in java 8.
The designed genetic algorithm operated based on several parameters. They have a significant influence on the results of the algorithm. In this section, we describe how the values of this parameter are selected. To select the most suitable parameters for the genetic algorithm, we execute the algorithm multiple times. Observed effects on the corresponding MOP approaches are listed in Table 2.
The tested ranges of the importance of the parameters show good results. The small tournament size makes the crossover loses diversity. It negatively affects the algorithm results as well as the time of convergence. The tournament size = 7 seems to generate good results for the scalarizing approach, and tournament size > 9 increases the processing time even though it maintains an excellent fitness value. Population size > 100 gets worse for both fitness values and processing time. Based on the observed results, we selected the parameter set to run the algorithm according to Table 3.  tournament size   2 Results decreased slightly, stable time execution 3 Stable results, processing time increased 5 Stable results, stable time execution 7 Stable results, processing time decreased 9 Stable results, processing time decreased population size 100-150 Stable results, processing time increased 151-200 Stable results decreased, processing time increased The tested ranges of the importance of the parameters show good results. The small tournament size makes the crossover loses diversity. It negatively affects the algorithm results as well as the time of convergence. The tournament size = 7 seems to generate good results for the scalarizing approach, and tournament size > 9 increases the processing time even though it maintains an excellent fitness value. Population size > 100 gets worse for both fitness values and processing time. Based on the observed results, we selected the parameter set to run the algorithm according to Table 3.   To evaluate the proposed algorithm. We have run the algorithm multiple times with the same initial value. Figure 4 shows the fitness values over 13 executions. It shows that the result is nearing expected values (approximately 1) on tested data. The average time execution is around 33 s, as shown in Figure 5. In fact, the teaching assignment process accounts for an average of 1 working day of the head of department. In many cases when the number of sections is too large, it is even more time-consuming.  To evaluate the proposed algorithm. We have run the algorithm multiple times with the same initial value. Figure 4 shows the fitness values over 13 executions. It shows that the result is nearing expected values (approximately 1) on tested data. The average time execution is around 33 s, as shown in Figure 5. In fact, the teaching assignment process accounts for an average of 1 working day of the head of department. In many cases when the number of sections is too large, it is even more time-consuming.  The fitness values change during each generation of the Genetic Algorithm is shown in Figure 6. After about the first 20 generations, the fitness value came very close to the convergence value. The proposed model allows faculty preferences for four aspects: skills, timeslots, number of classes, and working time. It considers more aspects of stakeholders' needs than the simple "sum of favorites on the particular wish of lecturers" model introduced by previous research [17,21]. We use a non-preference approach for the multi-objective problem. Compromise programming gives a satisfactory answer in cases where there is not any priority assigned. The lecturer's satisfaction degrees corresponding to the groups of objective functions were obtained by executing GA displayed in Figure 7. It observed that teachers who are registered to teach many subjects could guide in many different time frames and naturally prioritize various topics. Meanwhile, with the target function's current scoring: 100%~5 stars of subjects * 5 stars of time slots, which leads to  To evaluate the proposed algorithm. We have run the algorithm multiple times with the same initial value. Figure 4 shows the fitness values over 13 executions. It shows that the result is nearing expected values (approximately 1) on tested data. The average time execution is around 33 s, as shown in Figure 5. In fact, the teaching assignment process accounts for an average of 1 working day of the head of department. In many cases when the number of sections is too large, it is even more time-consuming.  The fitness values change during each generation of the Genetic Algorithm is shown in Figure 6. After about the first 20 generations, the fitness value came very close to the convergence value. The proposed model allows faculty preferences for four aspects: skills, timeslots, number of classes, and working time. It considers more aspects of stakeholders' needs than the simple "sum of favorites on the particular wish of lecturers" model introduced by previous research [17,21]. We use a non-preference approach for the multi-objective problem. Compromise programming gives a satisfactory answer in cases where there is not any priority assigned. The lecturer's satisfaction degrees corresponding to the groups of objective functions were obtained by executing GA displayed in Figure 7. It observed that teachers who are registered to teach many subjects could guide in many different time frames and naturally prioritize various topics. Meanwhile, with the target function's current scoring: 100%~5 stars of subjects * 5 stars of time slots, which leads to The fitness values change during each generation of the Genetic Algorithm is shown in Figure 6. After about the first 20 generations, the fitness value came very close to the convergence value. The proposed model allows faculty preferences for four aspects: skills, timeslots, number of classes, and working time. It considers more aspects of stakeholders' needs than the simple "sum of favorites on the particular wish of lecturers" model introduced by previous research [17,21]. We use a non-preference approach for the multiobjective problem. Compromise programming gives a satisfactory answer in cases where there is not any priority assigned. The lecturer's satisfaction degrees corresponding to the groups of objective functions were obtained by executing GA displayed in Figure 7. It observed that teachers who are registered to teach many subjects could guide in many different time frames and naturally prioritize various topics. Meanwhile, with the target function's current scoring: 100%~5 stars of subjects * 5 stars of time slots, which leads to those who can teach few items or more constrained about time constraints may receive a less-satisfied schedule.
Computers 2021, 10, x FOR PEER REVIEW 12 of 16 those who can teach few items or more constrained about time constraints may receive a less-satisfied schedule. We illustrate the optimal solution in Figure 8. A directed graph is used to represent matching between instructor and sections. Each section node will only associate with one  We illustrate the optimal solution in Figure 8. A directed graph is used to represent matching between instructor and sections. Each section node will only associate with one We illustrate the optimal solution in Figure 8. A directed graph is used to represent matching between instructor and sections. Each section node will only associate with one node trainer. In this situation, the arrow comes from a trainer node and points to the corresponding section node.
Computers 2021, 10, x FOR PEER REVIEW 13 of 16 node trainer. In this situation, the arrow comes from a trainer node and points to the corresponding section node. The Genetic Algorithm (and also other approximation algorithms) does not guarantee to find the global solution. The obtained solutions may be local optima. Since our model is different from previous models, it is not feasible to compare the proposed algorithm with the available settings. However, we can evaluate whether the algorithm works well in terms of a smaller search space. We extracted a data set from 5 lecturers, and 12 sections then found the global solution using exhaustive search. The proposed scheme's comparison results with the implementation of the Brute Force algorithm are shown in Table 4, and the optimal solution is illustrated in Figure 9.   The Genetic Algorithm (and also other approximation algorithms) does not guarantee to find the global solution. The obtained solutions may be local optima. Since our model is different from previous models, it is not feasible to compare the proposed algorithm with the available settings. However, we can evaluate whether the algorithm works well in terms of a smaller search space. We extracted a data set from 5 lecturers, and 12 sections then found the global solution using exhaustive search. The proposed scheme's comparison results with the implementation of the Brute Force algorithm are shown in Table 4, and the optimal solution is illustrated in Figure 9. node trainer. In this situation, the arrow comes from a trainer node and points to the corresponding section node. The Genetic Algorithm (and also other approximation algorithms) does not guarantee to find the global solution. The obtained solutions may be local optima. Since our model is different from previous models, it is not feasible to compare the proposed algorithm with the available settings. However, we can evaluate whether the algorithm works well in terms of a smaller search space. We extracted a data set from 5 lecturers, and 12 sections then found the global solution using exhaustive search. The proposed scheme's comparison results with the implementation of the Brute Force algorithm are shown in Table 4, and the optimal solution is illustrated in Figure 9.   Decision-maker may have their customization on the provided schedule in this situation. To support them, modify the plan quickly, we design a web page to help drag and drop, as shown in Figure 10. The decision-maker can choose any course and assign it to another instructor by dropping the item in the corresponding line. The information systems part plays a vital role in compensating for the shortcomings of the proposed algorithm. Decision-maker may have their customization on the provided schedule in this situation. To support them, modify the plan quickly, we design a web page to help drag and drop, as shown in Figure 10. The decision-maker can choose any course and assign it to another instructor by dropping the item in the corresponding line. The information systems part plays a vital role in compensating for the shortcomings of the proposed algorithm. Figure 10. The webpage allows the decision-maker to customize the generated schedule.

Conclusions
In this study, we have proposed a multi-objective optimization model for the assignment task. The proposed model satisfies the lecturers' preferences regarding skills, time, and the number of jobs while ensuring related constraints. Our model was applied to the FPT University lecturers scheduling problem and defined a generic solution for multiobjective task assignment problems. We use compromise programming to turn the multiobjective problem into a single-objective problem. Although in the preferred approach, users can set different values for each weight of the target function. It is flexible, but in a multi-dimensional space, the visualization of the results corresponding to a parameter set is difficult. It leads decision-makers to explore parameter sets in an ample search space. On the other hand, a compromise model is a single-shot solution for decision-makers. It avoids them having to define preference information for the objectives. The model itself has found a way to the best. However, the low use of parameters reduces the ability to interact with the model of a decision-maker. The proposed scheme for genetic algorithm shows that it works effectively; the repair step has removed all binding violation solutions without affecting crossovers' diversity. Shortly, we are looking to build an integrated model with lecturers and students' scheduling simultaneously. Refining the parameters of the algorithm is also a job in our plan.

Conclusions
In this study, we have proposed a multi-objective optimization model for the assignment task. The proposed model satisfies the lecturers' preferences regarding skills, time, and the number of jobs while ensuring related constraints. Our model was applied to the FPT University lecturers scheduling problem and defined a generic solution for multi-objective task assignment problems. We use compromise programming to turn the multi-objective problem into a single-objective problem. Although in the preferred approach, users can set different values for each weight of the target function. It is flexible, but in a multi-dimensional space, the visualization of the results corresponding to a parameter set is difficult. It leads decision-makers to explore parameter sets in an ample search space. On the other hand, a compromise model is a single-shot solution for decision-makers. It avoids them having to define preference information for the objectives. The model itself has found a way to the best. However, the low use of parameters reduces the ability to interact with the model of a decision-maker. The proposed scheme for genetic algorithm shows that it works effectively; the repair step has removed all binding violation solutions without affecting crossovers' diversity. Shortly, we are looking to build an integrated model with lecturers and students' scheduling simultaneously. Refining the parameters of the algorithm is also a job in our plan.