Task Assignment Optimization with the Use of PESBAT Linear Programming Tool

specific formulations can be found in logistics (e

Task assignment problems may be found in various spheres of business and science, such as transportation [Dekker, Spliet, 2016, p. 213], production management, computer science, education [Guler et al., 2015, p. 20].Generalizing definition given in the article by Lai, Yeh and Huang [2017, p. 115], it may be said that task assignment problem (TAP) is a problem that requires matching a defined set of tasks to a known set of agents (e.g.factory workers, factories, production lines, processors, vehicles or warehouses) so that a certain goal is achieved.Example goals are: minimal time required to perform all the tasks, minimal costs, the best quality of the end product, maximum profits, the shortest route, etc.Each particular goal can usually be described as a function of several variables.Depending on that function, task assignment problems may be linear or nonlinear; such division also gives a general understanding Pobrane z czasopisma Annales H -Oeconomia http://oeconomia.annales.umcs.plData: 15/09/2023 08:01:39 of the problem's difficulty.Besides variables and a goal, task assignment problems often have a set of constraints.Basic constraints for a TAP are: each agent should be assigned to a certain task and each task may be assigned to only one agent.There may also be a requirement to assign tasks from the same "task supplier" to different agents during each task assignment or a requirement to assign such a number of tasks to each agent so that all the tasks could be performed in a given amount of time.In different specific cases, task assignment problems have different constraints and goals, which define the best algorithm or technique for solving given problem.Task assignment problems may have several sources (Fig. 1).Being unidentified, ignored or solved incorrectly, task assignment problem may result in several phenomena that are unfavorable for running a business (Fig. 2).Fig. 2. Phenomena that are unfavorable for running a business Source: own work.

The number of tasks to assign
The number of agents Diversity of tasks Diversity of agents (e.g.different productivity or available time) External regulations (e.g.traceability requirement) Impossibility to standardize task assignment process (e.g.seasonality of tasks) Longer time of performing tasks Difficulties in controlling which task was assigned to a particular agent Biased task assignment (e.g.giving easier or more profitable tasks to agents favored by the manager) Establishing relations between agents and "task suppliers" (if the task is to assess the quality of task supplier's work, it may lead to biased assessment) Impossibility to perform a task by an agent (e.g. in road transportation, if a route was assigned to a driver that cannot deliver goods fast enough due to EU drivers' working hours regulations) Not assigning a number of tasks due to human factor (e.g. a manager can forget about some tasks in not reminded)  The above-mentioned phenomena cause disorders in business processes and affect enterprise's revenue and reputation negatively.Hence solving task assignment problem and creating a procedure to assign tasks should have high priority for projects involving arbitrarily large amount of tasks and people.Task assignment can be supported by task management software that contains information about tasks, agents, constraints and reminds manager that there are tasks to be assigned.Such tools or platforms can be components/extensions of popular office suites used in enterprises.

Linear programming tools
Currently, there is a great amount of optimization tools available for use, either on commercial basis or free.Available tools are rarely dedicated to linear programming only, great number of such tools also gives possibility to solve or model non-linear problems.Such optimization tool may be an independent application or a library of algorithms and procedures that may be used for developing software in a chosen programming language.Optimization tools may be divided into two groups: solvers and modeling environments.Solvers use data model as an input and return optimal or close to optimal results by applying several algorithms or methods to the input.Modeling environments, on the other hand, integrate human modelers and solvers by giving a tool for data model creation, importing data, creating instances of the problem basing on data model, engaging solvers and analyzing results [Fourer, 2017, p. 1].
More information on linear programming tools are available on www.mat.univie.ac.at/~neum/glopt/software_g.html and in a series of comprehensive surveys concerning linear programming software conducted by Robert Fourer [2017, p. 1].

Microsoft Excel Solver Add-in
Microsoft Excel Solver Add-in (Solver) is a popular optimization and what-if analysis tool.The tool was developed and is still supported by Frontline Systems, Inc., a software developer located in the United States of America.Solver is delivered as a part of Microsoft Excel, it can be installed directly from the MS Excel menu or from the CD where Microsoft Office or Microsoft Excel installation files are contained and its usage does not require any additional costs.Solver was a part of Microsoft Excel in versions 2007Excel in versions , 2010Excel in versions , 2013Excel in versions , 2016. .It is also available for Excel 2011 and 2016 for Mac computers, Excel for iPad, iPhone and Excel for tablets and phones using Android OS [Microsoft Support, p. 1].
Solver's task is to process a given data model so that an optimal solution, or goal, was found.Finding the goal is done by changing the variables, which may be subject to several constraints.There can only be one goal for a model, and it has to be a cell which contains a formula.The formula's result should depend on variables' Pobrane z czasopisma Annales H -Oeconomia http://oeconomia.annales.umcs.plData: 15/09/2023 08:01:39 value.Solver is capable of finding minimum or maximum goal value for a given data model, it can also process the model so that the goal value would be equal to a certain given number.
Solver has some limits on variables and constraints that can be added to the problem that needs to be solved.The limit for variables in constant: the tool can analyze up to 200 variables.Limitations on constrains are as follows: Using the basic Excel Solver, you can place constraints on up to 100 cells which are not decision variables.In addition, you can place constant upper and/or lower bounds on the decision variables, and you can place integer constraints on some or all of the decision variables [Frontline Systems, Inc., p. 1].
In the Solver which was a part of Microsoft Excel 2010 and later version, there are six types of constraints that can be put on a cell or a range of cells: less than or equal to, equal to, greater than or equal to, binary, integer and all different.The right part of an equation for the first three types can be a number or a formula that returns a number.
Besides variables and constraints, data model that will be processed by Solver should have one goal or target.It has to be a cell which contains a formula, and formula's result should depend on variables' value (Fig. 3).This method can be used for non-smooth optimization.It uses a combination of genetic algorithm and local search methods, which were implemented by several professionals at Frontline Systems, Inc.This method is capable of finding near-optimal solutions for data models which use Excel IF and VLOOKUP functions.Solver allows adjusting some of the parameters that will be taken into account while using a chosen algorithm to solve a given problem.
The features listed above make Microsoft Excel Solver Add-in a suitable tool for a simple what-if analysis and a way to search for solutions to not complex business problems that can be presented as a set of mathematical equations or inequalities.
The main reasons for choosing Solver as a tool to solve the task assignment problem are shown in Fig. 4.

Problem of assigning tasks for photoanalysts
This section contains a description of a task assignment process which takes place in QMK Sp. z o.o., a Polish consulting and analytical enterprise.There is also a presentation of a solution which was created using Solver and Visual Basic for Applications and helps to optimize the process described below.
QMK is based in Sopot, Poland, and employs 15 people.For one of its clients, QMK provides a photoanalysis service.QMK's client possesses several thousands of shelves with its products, which are installed at various stores all over Poland.Client's staff visits all of these locations at least once a month (twice if needed) and takes a series of photographs (usually 7 to 12) of each shelf.After the photos of a given shelf are taken, they are compressed into a package and sent to client's server.At the end of each working day, all packages are exported to one of QMK's server, so the next day after the photos are taken analysis of received packages may begin.The aim of the photoanalysis is to assess the quality of client's personnel work, to collect detailed data on shelves' stock (availability of all products and quantity of available ones), which shows effectiveness of salesforce and point-of-sales materials.Data on availability of the recent POSM is also gathered.Collected data is later used to create diverse reports and ratings.
Current status of all received and processed packages is presented on a web-platform, which is used for communication between personnel of QMK and its clients.The assignment of received packages with the use of web platform is shown in Fig. 5. Pobrane z czasopisma Annales H -Oeconomia http://oeconomia.annales.umcs.plData: 15/09/2023 08:01:39 The table (Fig. 5) shows all packages that can be assigned to photoanalysts (further -PHA); the first column contains client's worker ID, other columns present information on quantity of packages to assign, a number of packages with photos of particular types, visit ID and data of assigned PHA and packages status.Packages with photographs of the shelves are grouped by shelf type and client's worker.Assigning packages to PHA is performed by selecting several checkboxes corresponding to packages of a given type and sent by a given client's worker, selecting PHA at the bottom of the table and confirming the selection.
After photoanalysis is performed, the results are published and clients have a possibility to check the results.If complaints occur the photoanalysis is improved and the final reports are prepared.The scheme of photoanalysis process is presented in Fig. 6.

Specifics of the business process and features of the enterprise impose several restrictions on task assignment:
− packages should be assigned to PHA proportionally to their availability, − packages of photographs of each type should be assigned proportionally to their share in all the packages available for assignment, − throughout a month packages sent by each particular client's worker should be assigned to maximum number of PHA in order to minimize a possibility of a biased assessment, − packages of different types from the same client's worker should be perceived as different tasks, − each group of packages should be assigned to only one PHA during one assignment.Besides the restrictions mentioned above, the problem of assigning tasks to PHA has another feature: differences in photoanalysts' productivity are negligible.The package assignment problem, in this case, reduces to assigning each of the analysts the number of packages proportional to his or her work time.However, as mentioned in the previous section, the packages in the table are grouped by type and client's worker, so it is impossible to assign single packages to PHA.The packages of a given type to assign to a PHA (e.g. 15 packages of type B) should rather be gathered by adding several packages of that type from different client's workers (e.g.3+1+7+4).
The task is easy to perform for a small number of PHA and groups of packages but assigning around 60 groups of packages of different sizes to a dozen of PHA manually is time-consuming and may result in mistakes, due to which it becomes impossible to assign all the analysts the number of packages proportional to their available time.
In order to have better control over each of these constraints and to optimize the process of task assignment, a PESBAT assignment tool using Microsoft Solver and VBA procedures was created.

Task assignment optimization with the use of PESBAT tool
PESBAT (Programming Enhanced Solver Based Assignment Tool) was developed with the use of Visual Basic for Application and Excel Solver LP Simplex method.The purpose of the tool is to assist the QMK manager in assigning packages with photographs from QMK's client to photoanalysts.
The tool uses Microsoft Excel as its environment and framework.PESBAT consists of five spreadsheets containing formulas and tables with data, and several macros which prepare the data for further processing and assign packages to PHA.
The whole process of assigning packages with the use of PESBAT can be divided into three steps: − data preparation, − calculating quantities of packages of each type to be assigned, − assigning the packages.
The tool uses the table shown in Fig. 5 as its input.After copying the table from the web-platform and pasting it into the first spreadsheet, a macro is used to prepare the table for further usage.The structure of the macro is shown in Fig. 7. Spreadsheets "Step 1" and "Step 2" are shown in Fig. 8 and 9 respectively.
The second macro prepares the data for calculating quantities of packages to be assigned.The main steps implemented in the macro are: − copying the table from spreadsheet "Step 2" to "Step 3", − adding a column with sums of all packages, − adding sums of packages of each type, − sorting the table by the "Sum" column in descending order.After the third macro stops, a previously prepared table located in spreadsheet "Step 3" copies data concerning the sum of packages and sums of packages of each type and calculates the quantities of packages to be assigned to each of the PHA.
Pobrane z czasopisma Annales H -Oeconomia http://oeconomia.annales.umcs.plData: 15/09/2023 08:01:39   Coping the table to the spreadsheet "Step 2" Deleting the columns that will not be used for package assignment, unmerge all cells and delete empty rows Insert zeros to empty cells in the intersection of client's worker rows and package type columns Moving the data concerning packages created after second visits in stores under the section of data concerning first visit packages Changing height of rows and width of columns so that it would be easier to see the whole table Pobrane z czasopisma Annales H -Oeconomia http://oeconomia.annales.umcs.plData: 15/09/2023 08:01:39 The calculations are performed by formulas embedded in each cell of the table.Formulas calculate the quantities mentioned above according to the restrictions: each PHA should get a number of packages that corresponds to his or her available time, and the sum of packages of each group that should be assigned to a PHA should be proportional to the share of that group in the sum of all the packages.The calculated values are not integer, so formulas round them.Sometimes due to rounding the sum of packages that may be assigned is not equal to the sum of values calculated by formulas, so these values need to be manually corrected.The second reason for correcting values manually is that sometimes it is not possible to assign the number of packages calculated by formulas to each of the analysts, e.g. if one of the groups of packages has more packages than any of the PHA should get.After the quantities of packages that need to be assigned are calculated, the main macro is enabled.Its function is to arrange the packages from the prepared table in such a way that each of the analysts could get the number of packages that was calculated by formulas.The macro engages Microsoft Excel Solver for that task; the variables for the Solver are cells with binary constraints.If the cell's value is 1, the package in the same row as the cell will be assigned to currently analyzed PHA, if 0 -the package will not be assigned.Solver's target is a cell with formula calculating the sum of products of multiplication the variables by number of packages in each group of packages.Solver's task is to change the variables in such a way that the target value would be equal to the value calculated for currently analyzed PHA by formulas in the previous step.The tool also uses one column as its operative memory: the information concerning packages that were already assigned is stored Pobrane z czasopisma Annales H -Oeconomia http://oeconomia.annales.umcs.plData: 15/09/2023 08:01:39 there in order to avoid multiple assignment of the same package to several PHA.The structure of the main macro is presented in Table 1.
Table 1.Structure of the main PESBAT macro − set the variables that will be used to navigate through spreadsheets − main loop 1: further operations repeat until all types of packages are assigned • choose the type of package to be assigned • reset the operating memory • main loop 2: further operations repeat for each of the photoanalysts • select an analyst • gather information on the packages that may be assigned • reset Solver, initiate Solver and set its parameters • assign packages • check if assignment was successful, propose to change the target value if necessary • check which packages were assigned, copy the information to the operating memory • copy the data that allows identifying client's workers to the dedicated spreadsheet • copy the data on the size of the assigned packages to the technical spreadsheet • go to the beginning of the main loop 2 • adjust the variables used for navigation • reset the operating memory − give information on how long package assignment took Source: own work.
After the macro stops, the spreadsheet allows to check if the assignment was successful: additional table shows if sum of packages for assignment equals to the sum of the assigned packages.It also shows if all the partial sums (sums of packages of each type, sums of packages that each photoanalyst was assigned) are correct.
The last macro changes the formatting of the final spreadsheet, which contains the output of PESBAT: a table with columns for each of the analysts and types of packages, with listed personal data of client's workers whose packages were assigned to a given analyst.
Control panel and spreadsheet "Output" are shown in Fig. 11.The tool is automatic: its macros have procedures that clean the data that remained after previous package assignment; control buttons also stay in the same place after package assignment.PESBAT has to be updated only if some new types of packages or new photoanalysts are added to the project.The tool theoretically can assign packages from 200 client's workers (that is the number of variables that Microsoft Excel Solver can handle), at present, there are around 60 client's workers that create packages of photographs.
Manual package assignment takes on average 43 minutes.PESBAT helps to reduce this time to 17 minutes on average, so almost by 60%.Average running time of PESBAT is between 2 and 3 minutes, this time generally depends on the hardware that is used to run the tool.
Pobrane z czasopisma Annales H -Oeconomia http://oeconomia.annales.umcs.plData: 15/09/2023 08:01:39 PESBAT assigns packages in a way that is similar to how packages were assigned by manager: greater groups of packages are assigned to photoanalysts that can daily analyze more packages.It helps to avoid situations when some groups of packages remain unused.
Monthly tests of the tool showed that levels of diversity in groups of photoanalysts who analyzed packages coming from client's workers were similar for manual and PESBAT-supported task assignment: the average number of analysts per client's worker was around 9 (out of 10) PHA in both cases.However, this was mainly achieved due to randomness in packages' import.The number of packages of each type from each client's worker that are available for assignment each day are different.

Conclusions
The realization of the described business process, PESBAT tool development process and performed tests indicate that: − companies in similar to QMK's business field have a lot of areas for optimization (e.g.task assignment, creation of documentation, identifying risks and constraints that have to be taken into account to provide good quality services), − sometimes managers see problems in organization's functioning, but don't know what methods and tools may be used to solve it.It may be caused by lack of knowledge and experience in spheres of process management or information technology, − a lot of business problems that may be presented as a mathematical model can be solved using programming languages and solvers built in office suits like VBA and Excel Solver.Such tools give limited possibilities (e.g.Solver's constraint of using maximally 200 variables) but they still may be successfully used to solve small and medium optimization problems, easy to convince managers of the need for developing a tool for optimizing some process.The main reason for such problem is that implementation of such a tool generally creates additional costs.Another reason is a general reluctance to changes, inherent in every person.It may be useful to calculate potential costs and benefits, perform several tests and create a plan of development and implementation of such a tool to convince managers, − the problem mentioned above may not occur if the tools are developed with the use of not expensive, well-known tools available in office suits.Using it even small companies are able to develop such a tool with minimal costs.

Future research
Development of PESBAT tool is not finished.At present, the tool only assigns three out of five types of packages, generally because one type of packages is always assigned to the manager, and packages of the other type are assigned to analysts basing on information concerning previous assignments.
After improving these areas, further automation of task assignment may be considered.Time that task assignment takes may be reduced even more by adding new functionalities for data acquisition and exporting final results to the B2B platform, or in other words by stronger PESBAT and B2B platform integration.
After these updates, more comparative tests of manual and semi-automatic task assignment will be performed to correctly assess positive and negative effects of using the PESBAT tool.
Interesting issue is also solving vehicle routing problem for QMK's clients.Future PESBAT development will be performed to help to plan the number of packages that will be available for assignment each day.Such control may help to achieve even greater diversity in groups of photoanalysts who analyze packages coming from client's workers.

Task Assignment Optimization with the Use of PESBAT Linear Programming Tool
The article presents task assignment problem and the role that modern linear programming tools may play in its solving.Task assignment problem is a case of the assignment problem, which is one of the fundamental combinatorial optimization problems.Its specific formulations can be found in logistics (e.g.driver assignment problem), computer science (e.g.memory management) and other fields of science and business.Various methods and algorithms have been created or adapted to solve the assignment problem, and modern linear programming and optimization tools like Microsoft Excel Solver, which contain implementations of these algorithms, provide a possibility to solve diverse cases of the assignment problem with minimum effort and time.
The article addresses widely known task assignment problem in business, its sources and ways of solving or reducing its negative impact on business processes effectiveness.The paper contains also a general overview of modern linear programming tools that can be used for task assignment and describes Microsoft Excel Solver Add-in as a tool for business process optimization.
The main part of the article is a presentation of VBA based optimization tool called PESBAT developed by the authors and the case of task assignment process optimization in the enterprise that offers photoanalytical services.Pilot use of a PESBAT tool showed that it allows reducing the time needed for task assignment, gives more balanced workload for employees but also indicated the optimization possibilities of other areas of described company, like route optimization and reports preparation.

Fig. 4 .
Fig. 4. The main reasons for choosing Microsoft Solver