A matheuristic for a customer assignment problem in direct marketing

In direct marketing, companies use sales campaigns to target their customers with personalized product offers. The effectiveness of direct marketing greatly depends on the assignment of customers to cam-paigns. In this paper, we consider a real-world planning problem of a major telecommunications company that assigns its customers to individual activities of its direct marketing campaigns. Various side constraints, such as budgets and sales targets, must be met. Conﬂict constraints ensure that individual customers are not assigned too frequently to similar activities. Related problems have been addressed in the literature; however, none of the existing approaches cover all the side constraints considered here. To close this gap, we develop a matheuristic that employs a new decomposition strategy to cope with the large number of conﬂict constraints in typical problem instances. In a computational experiment, we compare the performance of the proposed matheuristic to the performance of two mixed-binary linear programs on a test set that includes large-scale real-world instances. The matheuristic derives near-optimal solutions in short running times for small-to medium-sized instances and scales to instances of practical size comprising millions of customers and hundreds of activities. The deployment of the matheuristic at the company has considerably increased the overall effectiveness of its direct marketing campaigns.


Introduction
Companies in competitive sectors such as banking and telecommunications strongly rely on direct marketing to promote their products ( Miguéis, Camanho, & Borges, 2017 ).In direct marketing campaigns, companies contact their customers individually via call , direct mail , email , or text message to make a personalized offer.The success of such campaigns greatly depends on the assignment of customers to campaigns.Increasing the overall response rate by targeting the right customers can result in a substantial profit increase.However, contacting individual customers too frequently and offering products they are not interested in, negatively impacts the effectiveness of direct marketing.
We introduce a real-world planning problem of a major telecommunications provider.The problem input consists of a set of activities and a set of customers.Each activity is scheduled for a specific day, and the eligible customers, i.e., the customers who can be assigned, are known for each activity.An expected profit, a response probability, and a cost are given for every possible assign-ment of a customer to an activity.Various business and customerspecific constraints must be considered.The business constraints include assignment constraints that control the number of assignments to specific activities, budget constraints that ensure that the total cost associated with assignments to specific activities does not exceed a prescribed budget, as well as sales constraints that control the expected number of sales resulting from assignments to specific activities.The customer-specific constraints include lower and upper bounds on the number of contacts per customer within a prespecified time window (e.g., one month) and conflict constraints that ensure that each customer who is eligible for two conflicting activities is assigned to at most one of the two activities.Two activities are in conflict when they take place in close succession and are associated with the same channel or promote the same product.The objective is to assign the customers to the activities such that the total expected profit is maximized.The company solves this planning problem on a daily basis, each time with updated data.Before using our approach, a dedicated team of the company used to manually assign its customers to the activities.To preserve the existing workflow, a key requirement for the solution approach was that it is capable of producing solutions for practical instances within 30 minutes.
To the best of our knowledge, none of the existing approaches from the literature can be directly applied to the above-described planning problem.Approaches that have been proposed for optimizing direct marketing campaigns only consider subsets of the constraints of our problem setting (cf.Table 5 in Section 3.1 for an overview).In particular, none of the approaches consider customerspecific conflict constraints.Conflict constraints in a more general sense have received considerable attention in the literature on related planning problems such as the assignment problem and the bin packing problem.However, approaches for these problems also cannot be applied directly to our problem because they do not allow the assignment of the same customer to multiple activities or the assignment of multiple customers to the same activity.The planning problem here also differs from related planning problems in terms of the size of typical instances.Practical instances involve millions of customers and hundreds of activities, which may lead to hundreds of millions of conflict constraints.This large number of conflict constraints hinders the use of exact approaches that employ a mixed-binary linear programming formulation of the entire planning problem.With hundreds of millions of conflict constraints, the time required to construct the model alone exceeds the running time limit prescribed by the company.The large number also makes it difficult to adapt existing heuristics that were not specifically designed to address this challenge.Hence, the development of a new solution approach is required.We propose a matheuristic for the above-described problem.The matheuristic follows the idea of solving a mathematical model for groups of customers rather than individual customers.The main methodological feature of the matheuristic is the problem decomposition strategy, which allows grouping of customers while still enforcing conflict constraints for individual customers.The decomposition works in four steps.In the first step, customers who are eligible for the same activities are grouped together such that the customers in one group are subject to the same conflicts among activities.In the second step, a clustering algorithm further divides each group into subgroups such that the customers in the same subgroup have similar expected profits.In the third step, a linear program decides how many customers of a subgroup are assigned to an activity.To consider conflicts among activities, the linear program employs new types of constraints which are defined for sets of activities of maximal size in which every two distinct activities are conflicting.To derive these sets efficiently without introducing redundancies, we developed a preprocessing technique.In the fourth step, an iterative algorithm assigns individual customers to the activities in a carefully selected sequence based on the solution derived by the linear program.The trade-off between solution quality and running time can be controlled by changing the number of subgroups created in the second step.The proposed decomposition scheme is the first to show how conflict constraints can be grouped and effectively incorporated into an aggregated optimization model.We believe that these ideas can be useful for the development of heuristics for related combinatorial optimization problems with conflict constraints.
In an experimental analysis, we use 27 generated and 13 realworld instances to compare the performance of the matheuristic to the performance of two mixed-binary linear programming formulations.The matheuristic finds near-optimal solutions in short running times for instances that could be solved to optimality by at least one of the two mixed-binary linear programming formulations.For all other instances, the matheuristic clearly outperforms both mixed-binary linear programming formulations in terms of solution quality and running time.We find that the preprocessing technique and the new types of constraints in the linear program contribute substantially to the effectiveness and the speed of the matheuristic.The matheuristic has been successfully deployed at the company and is now used on a daily basis.According to the company, introducing the matheuristic led to a substantial increase in the overall profitability of the campaigns.Moreover, the problem decomposition strategy of the matheuristic allows the company to approximate the impact of strategic decisions (e.g., an increase of budgets) in near real time by solving the linear program of the third step several times with different values for the parameters.
The rest of the paper is structured as follows.In Section 2 , we describe the planning problem in more detail.In Section 3 , we review the related literature.In Section 4 , we formulate the planning problem as a mixed-binary linear program.In Section 5 , we describe the four steps of the matheuristic.In Section 6 , we explain the preprocessing technique used in the matheuristic in more detail and introduce an alternative mixed-binary linear programming formulation that makes use of the preprocessing technique.In Section 7 , we report the results.Finally, in Section 8 , we draw conclusions and give directions for future research.

Planning problem
In Section 2.1 , we provide the business context of the planning problem.In Section 2.2 , we specify the planning problem.In Section 2.3 , we illustrate the planning problem with an example.

Business context
The telecommunications company that reported the planning problem simultaneously runs multiple direct marketing campaigns to promote its products and services related to different market segments to existing customers of the company.Each campaign is created by a marketing manager who selects a set of target products, designs the offer, identifies eligible customers, and determines the activities of the campaign, i.e., the days on which customers can be contacted via specific channels.The marketing managers also define some of the business constraints such as assignment constraints for activities of their campaigns.Other business constraints such as budgets are defined in a centralized manner by higher management.The assignment of the company's customers to its activities is performed by a central unit instead of the campaign managers to prevent customers who are eligible for activities of multiple campaigns from being contacted too frequently.The central unit considers all business constraints when assigning the customers to the activities.To replace the current practice of manually assigning the customers to the activities, the company asked us to develop a heuristic to assign its customers automatically.In the next section, we describe the planning problem from the perspective of the central unit.

Problem description
The problem input consists of a set of activities and a set of customers.Each customer can be assigned to one or multiple activities.An expected profit is given for each possible assignment.The goal is to assign the customers to the activities such that the total expected profit is maximized subject to various

ARTICLE IN PRESS
JID: EOR [m5G;May 16, 2022;23:40 ] constraints.We distinguish between business and customerspecific constraints.The business constraints consist of: • Minimum assignment constraints , which impose lower bounds on the number of assignments to sets of selected activities, and maximum assignment constraints , which impose upper bounds on the number of assignments to sets of selected activities.These constraints balance the number of assignments over activities and can be used, for example, to control the utilization of specific channels.• Budget constraints , which impose upper bounds on the total costs that result from assignments to sets of selected activities.The cost per assignment depends on the channel over which a customer is contacted, and hence may differ among activities.These constraints ensure that funds allocated to individual channels or groups of channels are not exceeded.• Minimum sales constraints , which impose lower bounds on the number of expected sales that result from assignments to sets of selected activities, and maximum sales constraints , which impose upper bounds on the number of expected sales that result from assignments to sets of selected activities.Each possible assignment is associated with a response probability, which states the likelihood of a positive customer reaction (i.e., a sale of the target product).The expected sales that result from assignments to a set of selected activities are computed as the sum of the corresponding response probabilities.These constraints enable the company to control the intensity of promoting new products or services.Maximum sales constraints are useful to prevent an overload of sales channels.For example, they can be used to distribute the customer volume in shops over time.
Each activity is associated with different characteristics, such as the day on which the assigned customers are contacted, the channel that is used to contact the customers, and the target products that are promoted.These characteristics allow definition of business constraints for specific time periods, channels, or target products by selecting the corresponding activities.More complicated selections of activities based on combinations of these characteristics are also possible.For example, minimum and maximum assignment constraints are typically defined for specific combinations of channels and time periods.The customer-specific constraints consist of: • Minimum contact constraints , which impose a lower bound on the number of times that a customer is assigned to a set of selected activities, and maximum contact constraints , which impose an upper bound on the number of times that a customer is assigned to a set of selected activities.These constraints ensure that a customer is not contacted too frequently.The contact constraints are derived from contact rules, which may state, for example, that a customer cannot be contacted more than twice in January.• Conflict constraints , which ensure that each customer is assigned to at most one out of two conflicting activities.A conflict arises when two activities take place within a certain number of consecutive days and use certain combinations of channels and target products.These constraints ensure that a customer is not assigned too frequently to similar activities.The conflict constraints are derived from conflict rules, which may state, for example, that a customer cannot be contacted twice via a call within one week.A separate conflict constraint would be imposed for each customer and each pair of activities which use the channel call center and take place within seven consecutive days.
This planning problem is strongly NP -hard, as it can be reduced to a generalized assignment problem that is known to be NP -hard (cf.Garey & Johnson, 2002 ).The minimum assignment constraints, the minimum and maximum sales constraints, and the minimum contact constraints reflect strategic decisions rather than operational requirements.Also, some of these constraints are defined independently by different marketing managers.This process may lead to contradictory constraints, for example, it is possible that two marketing managers each define a minimum assignment constraint that individually could be satisfied but together cannot be satisfied because of budget or conflict constraints.These dependencies get more complex if all types of minimum constraints are considered.Thus, the company wants to treat the constraints of the aforementioned four constraint types (minimum assignment, minimum and maximum sales, and minimum contact constraints) in almost all instances as soft constraints that can be violated subject to a penalty.The rest of the constraints must be treated as hard constraints because they represent operational requirements.The main purpose of using the soft constraints is to be able to generate a solution even if some constraints cannot be satisfied.Another advantage of the soft constraints is that users at the company are able to observe which slack variables take a positive value and thus, which constraints cannot be satisfied in the current setting.The penalty is computed for every soft constraint by multiplying the difference between the achieved assignments (or sales) and the prescribed bound by a constant.The constant can be set individually for each constraint type.The objective is to maximize the total expected profit minus the total penalty.

Illustrative example
The illustrative example comprises 20 customers and eight activities that belong to six different campaigns.Figure 1 shows for each activity the day on which it takes place, the channel over which the customers are contacted, and the target products that are promoted.Table 1 additionally lists the cost per assignment for each activity.Table 2 specifies the expected profit and the response probability for each possible assignment.The business constraints comprise a maximum assignment constraint, which ensures that at most 11 calls are used to contact the customers, a budget constraint, which ensures that all assignments associated with the channels direct mail , email , and text message do not incur costs of more than 40 Euros, and a maximum sales constraint, which ensures that the number of expected sales for the target product mobile does not exceed five.Moreover, minimum contact constraints are based on a contact rule that states that each customer must be assigned at least once.Maximum contact constraints are based on a contact rule that states that each customer must be assigned at most twice.Table 3 specifies for the business constraints and the contact rules the type, the start day, the end day, the channels, the target products, and the bound associated with the respective constraint or contact rule.The illustrative example has four conflict rules.First, each customer cannot be contacted more than once within two days.Second, each customer cannot be contacted more than once within five days via a call .Third, each customer cannot be contacted more than once within four days via direct mail .Fourth, each customer cannot be contacted more than once within four days via a text message .Table 4 indicates the combinations of channels and target products that lead to a conflict and the time lag related to a conflict rule.In Tables 3 and 4 , the entry "ALL" indicates that all channels or target products are affected by this constraint or rule.
All constants used to compute the total penalty for the soft constraints are set to 112 Euros (maximum absolute expected profit).The optimal assignment is marked in bold in Table 2 [m5G;May 16, 2022;23:40 ] violated by 0.12, which leads to a penalty of 112(0 .12) = 13 .44 Euros.The objective function value in the optimal solution is thus 2 , 959 .56 Euros.

Literature
The literature review is organized as follows.In Section 3.1 , we focus on related problems in direct marketing.In Section 3.2 , we focus on more general combinatorial optimization problems that share specific constraints with our planning problem.Table 5 gives an overview of the discussed approaches and shows which problem features are exactly ( ) or partially (( )) covered.

Related problems in direct marketing
There are two large streams of literature in direct marketing.The first stream is concerned with the development of response models that predict the responses of customers to direct marketing effort s (e.g., Ma, Hou, Yao, &Lee, 2016 andLessmann, Haupt, Coussement, &De Bock, 2021 ).The second stream pertains to the optimization of direct marketing operations given the output of response models.We focus on the second stream because it is more closely related to our planning problem.
Many of the planning problems considered in direct marketing involve the assignment of individual customers to product offers.The objective in these planning problems is to maximize the expected profit subject to various side constraints.Table 5 shows the side constraints that are covered by the different approaches.Cohen (2004) is the first to propose a binary linear program for assigning customers to direct marketing campaigns.For large-scale instances, he introduces a heuristic that is based on the idea of grouping similar customers and using a linear program to determine how many customers of a group are assigned to a campaign.Bhaskar, Sundararajan, & Krishnan (2009) formulate a similar problem as the one of Cohen (2004) as a binary linear program and propose a heuristic that builds on the idea of grouping customers.Sundararajan et al. (2011) describe the integration of the heuristic of Bhaskar et al. (2009) in a retail bank, which led to an estimated financial benefit of $20 million.Nobibon, Leus, & Spieksma (2011) consider a planning problem in which a subset of products must be selected for a campaign and the customers must be assigned to the selected products.They provide a binary linear formulation, a branch-and-price algorithm, and eight heuristics for this planning problem.The two heuristics that are based on column generation and on tabu search tend to perform best.For the same planning problem as Nobibon et al. (2011) , Oliveira et al. (2015) develop a heuristic that is based on a greedy randomized adaptive search procedure combined with a variable neighborhood search, and Cetin & Alabas-Uslu (2017) propose two heuristics, which in a first step use a rule-based procedure to select the products that will be part of a campaign, and in a second step assign the customers to the selected products.These two-step heuristics are competitive with the best heuristics of Nobibon et al. (2011) .Finally, Coelho et al. (2017) develop a metaheuristic for a variant of the planning problem considered by Nobibon et al. (2011) where the objective function includes a reward-to-variability indicator, which is inspired by the Sharpe ratio.One major difference between our planning problem (cf.Section 2 ) and the ones discussed above is the existence of a temporal dimension.In our planning problem, each activity is scheduled on a specific day of the time horizon.This timing information is relevant for various business constraints, and especially for the conflict constraints.In the direct marketing literature, only few planning problems include a temporal dimension.The planning problems which involve a temporal dimension, however, focus primarily on the design of campaigns rather than the assignment of individual customers.Nair & Tarasewich (2003) , for example, study a planning problem that consists of designing a series of promotions over time.Some of the side constraints are similar to the conflict constraints from our planning problem.These similar constraints ensure that selected pairs of promotions cannot take place within a certain number of consecutive days in the time horizon.Nair & Tarasewich (2003) formulate a non-linear integer program and develop a genetic algorithm for this planning problem.Delanote, Leus, & Nobibon (2013) formulate an integer linear model for the planning of multi-round direct marketing campaigns, which consists of determining how many customers of each customer segment are assigned to which product and which channel in each round, in order to maximize the total expected profit.Customers who react positively in one round cannot be assigned to the same product in later rounds.The number of customers who react positively is estimated by multiplying the response probability of a segment with the respective number of assigned customers.Ma & Fildes (2017) formulate a non-linear program and develop a genetic algorithm for the planning of multi-period promotions, which consists of determining for each period which products to advertise such that the total expected profit of the campaign is maximized.Bigler, Baumann, & Kammermann (2019) study a variant of the planning problem from Section 2 , in which all constraints are hard constraints.The authors formulate a binary linear program for this slightly different planning problem and apply it to four small-to medium-sized instances and one large-sized instance.To the best of our knowledge, no other customer assignment approach solved instances of similar size.However, this binary linear program does not scale to very large real-world instances.
As we can see from Table 5 , none of the discussed planning problems fully cover all the features of our planning problem.For example, most planning problems do not consider conflict constraints.Conflict constraints, however, have received considerable attention as an extension of more general combinatorial optimization problems such as the assignment problem and the bin packing problem.In the next section, we review these planning problems.

More general combinatorial optimization problems with conflict constraints
More general combinatorial optimization problems such as the assignment problem and the bin packing problem have been extended to consider conflict constraints.In the assignment problem, equal numbers of agents (here customers) and tasks (here activities) are given, and exactly one agent must be assigned to each task such that the total cost is minimized.In the assignment problem with conflict constraints (APC), an assignment of an agent to a task may conflict with another assignment of an agent to a task.This structure of the conflict constraints is visualized in Fig. 2 .The dashed lines correspond to potential assignments of agents to tasks, the solid lines correspond to assignments of agents to tasks in a feasible solution, and the bold red line indicates a conflict.Because of the conflict, agent i 2 cannot be assigned to task j 2 when agent i 1 is assigned to task j 1 , or vice versa.Darmann, Pferschy, Schauer, & Woeginger (2011) prove that the APC is an NP -hard optimization problem.Öncan, Ş uvak, Akyüz, & Altınel (2019) propose a branch-and-bound and a Russian doll search algorithm for the APC. Figure 2 also illustrates the structure of the conflict constraints in this paper.The customers are eligible for some, but generally not all activities.Thus, a potential assignment in the context of our planning problem means that customer i is eligible for activity j.Other than in the APC, a customer can be assigned to multiple activities.The conflicts in this paper occur between activities and apply to all customers who are eligible for the conflicting activities.For example, a conflict exists between activities j 1 and j 2 , and thus both customers i 1 and i 2 can at most be assigned to one

ARTICLE IN PRESS
JID: EOR [m5G;May 16, 2022;23:40 ] Table 6 Notation of MBLP. Sets Eligible customers of activity j J i Activities for which customer i is eligible J  Response probability of customer i when assigned to activity j α Constant to penalize the extent to which bound in a minimum assignment constraint is violated β Constant to penalize the extent to which bound in a minimum sales constraint is violated γ Constant to penalize the extent to which bound in a maximum sales constraint is violated δ Constant to penalize the extent to which bound in a constraint resulting from a minimum contact rule is violated Decision variables Slack variable of minimum sales constraint l = 1 , . . ., n s z s l ∈ [0 , q ] , Slack variable of maximum sales constraint l = 1 , . . ., n s with q = j∈ J i ∈ I j q i j z Slack variable of minimum contact rule l = 1 , . . ., n m for customer i ∈ I of the two activities.In the feasible assignment shown in Fig. 2 , customer i 1 is assigned only to activity j 1 and customer i 2 is assigned only to activity j 2 .An infeasible assignment would be, for example, if customer i 1 was assigned to both activities j 1 and j 2 .
In the bin packing problem, items (here customers) of different size must be packed in a minimum number of identical bins (here activities) with limited capacity.Each item must be assigned to exactly one bin, and each bin may contain multiple items that do not exceed its bin capacity.In the bin packing problem with conflict constraints (BPPC), conflicts occur between items and apply to all bins.This structure is also illustrated in Fig. 2 , where items i 1 and i 2 are in conflict and thus cannot be assigned to the same bin.Elhedhli, Li, Gzara, & Naoum-Sawaya (2011) and Sadykov & Vanderbeck (2013) develop different branch-and-price algorithms for the BPPC.Our planning problem differs from the BPPC in several ways.First, each item in the BPPC can be assigned to each bin if the capacity of the bin allows it.Second, while in our planning problem the conflicts occur between activities and apply to all customers who are eligible for these conflicting activities, the conflicts in the BPPC occur between items (here customers) and apply to all bins (here activities).Even if we consider items to be bins and bins to be items in the BPPC, there is no direct analogy to our planning problem because items must be assigned exactly once in the BPPC, while customers can be assigned multiple times and activities can have multiple assigned customers in our planning problem.Thus, the conflict constraints have the same structure only if we adjust our planning problem such that all customers are eligible for all activities and each activity must have exactly one assigned customer.

ARTICLE IN PRESS
Also other planning problems such as the knapsack problem with conflict constraints (cf.Bettinelli, Cacchiani, &Malaguti, 2017 andConiglio, Furini, &San Segundo, 2021 ), the maximum flow problem with conflict constraints (cf.Ş uvak, Altınel, & Aras, 2020 ), and the transportation problem with conflict constraints (cf.Sun, 2002 ) have attracted considerable attention in the literature.However, these planning problems differ considerably from our planning problem.In the knapsack problem, a conflict constraint ensures that only one of two items is included in the knapsack while in our planning problem a conflict constraint ensures that a customer is assigned to at most one of two conflicting activities.In the maximum flow problem, a conflict can involve any two edges of a graph while in our planning problem, a conflict always involves the assignments of one customer to two conflicting activities.In the transportation problem, a conflict constraint ensures that two conflicting goods cannot be shipped to the same warehouse.These conflict constraints are structurally similar to our conflict constraints if we consider warehouses to be customers and goods to be activities.However, in the transportation problem with conflict constraints, the supply of goods is given while in our planning problem the number of assignments to the activities is to be determined.Also, the warehouses in the transportation problem do not need to have a minimum number of assigned goods while the customers in our planning problem can be affected by minimum contact constraints.Finally, the assignment decisions in the transportation problem are integer (quantities of goods) while in our planning problem the assignment decisions are binary.
Table 5 also shows some side constraints besides the conflict constraints that the approaches for the APC and the BPPC cover.However, we can see that none of the existing approaches cover all problem features of our planning problem.

Mixed-binary linear programming formulation
In this section, we formulate the planning problem as a mixedbinary linear programming formulation (MBLP).Table 6 summarizes the sets, parameters and decision variables of the MBLP.The superscripts (i.e., a , a , b , m , m , s , s ) indicate for which type of constraint a set, parameter, or decision variable has been introduced.The information required to generate these sets and parameters for a specific instance can be derived from four tables.These four tables are exemplarily provided for the illustrative example in Section 2.3 (cf.Tables 1-4 ).From the equivalent of Table 1 , we can derive information about all activities.From the equivalent of Table 2 , we can derive information on all eligible customers for each activity.From the equivalent of Table 3 , we can identify the activities that are associated with the business constraints and the contact rules.Based on the equivalents of Tables 1 and 4 , we can identify all pairwise conflicts between activities.The MBLP uses binary decision variables x i j , which take the value of one if customer i is assigned to activity j, and zero otherwise.Furthermore, continuous slack variables are introduced for all soft constraints.The expected profit e i j is computed by multiplying the change in revenue that results if customer i accepts the offer times the corresponding response probability q i j minus the cost per assignment c j .The MBLP reads as follows: The objective function ( 1) is a linear combination of the total expected profit and the total penalty.The total expected profit corresponds to the sum over all expected profits e i j that result from assigning a customer i to an activity j.The total penalty corresponds to the sum of the products of the slack variables and the corresponding penalty constants α, β, γ , or δ.Constraints (2) represent the minimum assignment constraints.For each minimum assignment constraint l, the number of customers assigned to the relevant activities J a l plus the corresponding slack variable z a l must satisfy the lower bound b a l .Constraints (3) correspond to the maximum assignment constraints.For each maximum assignment constraint l, the number of customers assigned to the relevant activities J a l must not exceed the upper bound b a l .Constraints (4) represent the budget constraints.Each assignment of a customer i to an activity j generates a cost c j .For each budget constraint l, a budget b b l is imposed on the total cost that results from assigning customers to the relevant activities J b l .Constraints (5) represent the minimum sales constraints.Each assignment of a customer i to an activity j leads to a positive customer response with a probability q i j .For each minimum sales constraint l, the number of expected sales that results from assigning customers to the relevant activities J s l , i.e., the sum of the corresponding response probabilities of the assigned customers, plus the corresponding slack variable z s l must satisfy the lower bound b s l .Constraints (6) represent the maximum sales constraints.For each maximum sales constraint l, the number of expected sales that results from assigning customers to the relevant activities J s l minus the corresponding slack variable z s l must not exceed the upper bound b s l .Constraints (7) represent the minimum contact constraints.For each contact rule l = 1 , . . ., n m , a separate constraint is imposed for each customer.This constraint ensures that the number of times customer i is assigned to the relevant activities J m l ∩ J i plus the corresponding slack variable z m il satisfies the lower bound b m l .Constraints (8) correspond to the maximum contact constraints.For each contact rule l = 1 , . . ., n m , a separate constraint is imposed for each customer if this customer is eligible for more than b m l relevant activities J m l ∩ J i .This constraint ensures that the number of times customer i is assigned to the relevant activities J m l ∩ J i does not exceed the upper bound b m l .Constraints (9) represent the conflict constraints.The conflict constraints guarantee for each pair of conflicting activities ( j 1 , j 2 ) in set T and for each customer i who is eligible for both activities j 1 and j 2 that the customer can only be assigned to one of the two conflicting activities.Note that this formulation is very similar to the formulation of Bigler et al. (2019) that was developed for a slightly different planning problem.If one wants to consider all constraints as hard constraints, the upper bounds on the slack variables can be set to zero.

Matheuristic
The main idea of the matheuristic is to solve a mathematical model for groups of customers rather than individual customers.
The key feature is that we incorporate customer-specific constraints in the group-level model, which allows transforming the solution from the group-level model into a customer-level solution with almost no loss in solution quality.Moreover, the matheuristic is designed in such a way that the user can control the tradeoff between solution quality and running time with a single pa-rameter.The matheuristic consists of four steps.Figure 3 provides an overview of these four steps.In Sections 5.1 -5.4 , we explain the four steps in detail.In Section 5.5 , we apply the proposed matheuristic to the illustrative example from Section 2.3 .

Build groups by eligibility pattern (Step 1)
In the first step of the matheuristic, the customers are grouped according to their eligibility patterns.An eligibility pattern p indicates the activities for which a customer is eligible.Two customers share the same eligibility pattern if they are eligible for the same activities.For example, for an instance with three activities and a customer who is eligible for activities 1 and 3, but not for activity 2, the customer's eligibility pattern corresponds to [1, 0, 1].We generate an eligibility matrix with | I| rows and | J| columns.This matrix contains values of only zero and one, where a value of one indicates that a customer i ∈ I is eligible for an activity j ∈ J.All customers with the same eligibility pattern are grouped together.This grouping can be efficiently produced by sorting the rows of the eligibility matrix.The grouping by eligibility patterns is essential for the decomposition strategy of the matheuristic because it ensures that the customers in the same group are affected by the same conflicts between activities.Only due to this feature of the customer groups we are able to enforce customer-specific constraints in the third step of the matheuristic.Note that if the number of eligibility patterns is not much smaller than the number of customers, one can reduce the number of different eligibility patterns by grouping similar but not identical patterns and replacing all patterns within each group with the intersection of the different patterns in the group.However, according to the telecommunications company, the number of different patterns is always substantially lower than the number of customers in real-world instances because the customers with the same subscriptions (or products) are mostly eligible for the same activities.

Divide groups according to expected profits (Step 2)
In the second step of the matheuristic, each group is further divided into up to k subgroups.We determine the subgroups by considering a clustering problem for each group.The goal is to partition the customers of the group into k clusters (subgroups) such that the customers in the same cluster have similar expected profits for the activities for which they are eligible.Note that all customers of the same group are eligible for the same activities.Hence, the input to each clustering problem is a matrix which has one row for each customer and one column for each activity for which the customers are eligible.The values in the matrix correspond to the expected profits of the customers for the respective activities.To determine the partition, we apply the mini batch kmeans algorithm of Sculley (2010) .The mini batch k -means algorithm is particularly suitable for large-scale applications due to its speed and memory efficiency.If there are fewer than k customers in a group, all customers are placed in separate subgroups.Increasing the parameter k leads to smaller but more homogeneous subgroups.For the sake of simplicity, the subgroups that result from this grouping step are subsequently referred to as groups of customers.

Determine the number of customers of the groups that are assigned to the activities (Step 3)
In the third step of the matheuristic, a linear model (LP) determines how many customers of each group are assigned to the activities.We introduce continuous decision variables x g j that indicate how many customers of group g are assigned to activity j.For Average response probability of customers of group g when assigned to activity j Decision variables

ARTICLE IN PRESS
Number of customers of group g that are assigned to activity j Slack variable of group g for minimum contact rule l = 1 , . . ., n m each decision variable, we compute the corresponding average expected profit e g j and the average response probability q g j based on the respective expected profits e i j and response probabilities q i j of the customers of group g.Table 7 shows the notation that is used, in addition to the notation already introduced in Table 6 .The LP reads as follows: (LP) In the objective function (15), the total average expected profit minus the total penalty associated with the soft constraints is maximized.Constraints ( 16)-( 22) are formulated analogously to the constraints from Section 4 for groups of customers instead of individual customers.In the group-level model, it is not sufficient to simply consider pairs of conflicting activities for incorporating the conflict rules.Considering only pairs of activities, as in constraints (9), will result in excessive assignments on the group level, as shown in the following example.Consider two customers i 1 and i 2 who both belong to group g 1 .Assume that these customers are eligible for three activities j 1 , j 2 , and j 3 , which all have conflicts among each other.Therefore, each customer can only be assigned to one of the three activities.The analogous pairwise constraints to the constraints (9) for this example would be formulated as follows: The solution x g 1 , j 1 = x g 1 , j 2 = x g 1 , j 3 = 1 satisfies these constraints.However, because there are only two customers in group g 1 and each customer can only be assigned to one of the three activities j 1 , j 2 , and j 3 , this solution cannot be translated into a customer-level solution without losing one assignment.To better represent the conflict rules already in the group-level model, we introduce an alternative modeling technique.For each eligibility pattern p, we generate one or multiple sets J c l p of conflicting activities of maximal size.Constraints ( 23) ensure that a maximum of o g customers can be assigned to two or more conflicting activities J c l p for each eligibility pattern p and each group g with eligibility pattern p.In Section 6 , we will explain in detail how these sets of conflicting activities J c l p are efficiently generated.
Note that there are still special cases in which the LP might assign too many customers on the group level.Consider five activities j 1 -j 5 with T = { ( j 1 , j 2 ) , ( j 2 , j 3 ) , ( j 3 , j 4 ) , ( j 4 , j 5 ) , ( j 5 , j 1 ) } .Assume that group g 1 has two customers i 1 and i 2 who are eligible for all five acti vities.Then, the solution x g 1 , j 1 = x g 1 , j 2 = x g 1 , j 3 = x g 1 , j 4 = x g 1 , j 5 = 1 is feasible for constraints (23).However, one of these five assignments will be lost in the customer-level assignment.

Assign individual customers of the groups to the activities (Step 4)
In this step, we apply an iterative algorithm to assign individual customers to the activities based on the group-level assignment from the previous step.Figure 4 provides a flowchart of the algorithm.The basic idea is to assign the most profitable customers of group g to activity j for each variable x g j of the LP with a non-zero value.The iterative algorithm assigns the customers to the activities without violating hard constraints.Next, we explain the iterative algorithm step-by-step.
First, the algorithm determines a specific sequence for the group-activity pairs of the decision variables x g j with a value greater than or equal to one.This sequence determines in which order the customers are assigned to the activities.A random se-

ARTICLE IN PRESS
JID: EOR [m5G;May 16, 2022;23:40 ] quence is likely to lead to a loss of group-level assignments, as illustrated by the following example.Consider a group g 1 that contains two customers i 1 and i 2 .Assume that the customers of group g 1 are eligible for the three activities j 1 , j 2 , and j 3 and that activity j 1 conflicts with both activities j 2 and j 3 .Further assume that the solution of the LP is x g 1 , j 1 = x g 1 , j 2 = x g 1 , j 3 = 1 and that the following random sequence [(g 1 , j 2 ) , (g 1 , j 3 ) , (g 1 , j 1 )] of the groupactivity pairs is given.If customer i 1 is assigned to activity j 2 in the first iteration, and customer i 2 is assigned to activity j 3 in the second iteration, then no customer can be assigned to activity j 1 in the third iteration because both customers are already assigned to activities that conflict with activity j 1 .Instead of using a random sequence, we prepare a sequence based on a conflict graph G = (V, E) which can be constructed from the conflict rules.
The nodes V of the conflict graph G correspond to the activities of an instance (i.e., V = J), and the edges E between nodes represent conflicts among activities.We first sort all group-activity pairs according to the group index such that all activities of the same group are processed sequentially.To determine the sequence of activities for each group g, we construct a subgraph of the conflict graph G that only contains the activities as nodes to which customers from group g are assigned.The activity that corresponds to the node with the highest degree in this subgraph is selected first.Then, activities are added iteratively to the sequence in decreasing order of the number of edges that connect the respective nodes in the subgraph to nodes that represent already added activities.Note that this number of edges is recomputed every time an activity is added to the sequence.In case of ties, the activity with the lower index is first.For the example from above, this sorting mechanism results in the sequence [(g 1 , j 1 ) , (g 1 , j 2 ) , (g 1 , j 3 )] , based on which all three assignments can be conducted on the customer level.Second, the iterative algorithm selects the first/next groupactivity pair (g, j) in the sequence.
Third, the iterative algorithm identifies the customers of group g that can be assigned to activity j without violating any hard customer-specific constraints.Even though all customers of group g are initially eligible for activity j, it is possible that some customers of group g cannot be assigned to activity j because such an assignment would violate a conflict rule or a maximum contact rule due to assignments in earlier iterations.The customers of group g that can be assigned are referred to as candidates.
Fourth, the iterative algorithm selects the x g j candidates with the highest expected profits for activity j and assigns them.If the number of candidates is lower than x g j , then all candidates are assigned.The number of candidates can be lower than x g j in special cases.Such a special case is the example from Section 5.3 in which the conflict graph G represents a circle of five activities j 1 , j 2 , j 3 , j 4 , and j 5 , i.e., set T = { ( j 1 , j 2 ) , ( j 2 , j 3 ) , ( j 3 , j 4 ) , ( j 4 , j 5 ) , ( j 5 , j 1 ) } .The last group-activity pair in this example may have no candidate because all customers of the group have been assigned to conflicting activities in previous iterations, even though the solution of the LP intended to assign one or more customers.
Fifth, the iterative algorithm updates the eligibilities of the assigned candidates for other activities.All assigned candidates are no longer eligible for activities that are in conflict with activity j.Moreover, it is possible that with the assignment to activity j, some of the candidates will reach their maximum number of assignments for one or multiple maximum contact rules.These customers are no longer eligible for other activities that are affected by these maximum contact rules.Finally, the iterative algorithm determines whether the sequence of group-activity pairs is empty.If that is the case, the iterative algorithm stops and returns the customer-level assignment x i j ; otherwise, the next group-activity pair is selected from the sequence.

Illustrative example
We apply the matheuristic to the illustrative example from Section 2.3 step-by-step.In the first step, the customers who are eligible for the same activities are grouped together.This leads to the following four groups: { 7 , 10 , 14 , 19 , 20 } , { 2 , 3 , 4 , 9 , 17 } , { 1 , 5 , 8 , 11 , 12 , 13 , 16 } , and { 6 , 15 , 18 } .In the second step, these groups are further divided using the mini batch k -means algorithm with a value of k = 2 .The first two columns of Table 8 show the resulting eight groups and the customers I g who belong to these groups.In the third step, the LP is set up and solved for the eight groups and eight activities.Table 8 shows the resulting values of the decision variables x g j .A dash (-) indicates that the customers of this group are not eligible for this activity, and thus no assignment can be conducted.In the fourth step, the customers are iteratively assigned to the activities.Figure 5 shows the conflict graph G based on which the sequence of the group-activity pairs is determined.The complete sequence of the group-activity pairs is: [(1 , A 7) , (1 , A 8) , (2 , A 7) , (2 , A 8) , (3 , A 6) , (4 , A 6) , (5 , A 4) , (5 , A 5) , (6 , A 3) , (6 , A 4) , (6 , A 5) , (7 , A 1) , (7 , A 6) , (8 , A 1) , (8 , A 6)] .The algorithm iterates over all group-activity pairs in the derived order.In most of the iterations, all customers of the respective groups are assigned to the activities (as intended by the solution of the LP).Next, we will describe the iterations in which not all customers of a group are assigned to the considered activity.In the third iteration, customers of group 2 are assigned to activity A7.All three customers of group 2 are candidates, but x 2 , A7 = 2 .Thus, only the two customers with the highest expected profits for activity A7 are assigned (here, customers 20 and 14).Also, in iteration 9, only one customer of group 6 must be assigned to activity A3.Thus, customer 16 is assigned.In iterations 10 and 11, only customers 8 and 1 of group 6 are candidates because customer 16 has been assigned to a conflicting activity in a previous iteration.Thus, these two customers are assigned to both activities A4 and A5.The total expected profit of the solution obtained by the matheuristic is 2 , 973 Euros (the same as in the optimal solution).The maximum sales constraint is violated by 0.14 ( +0 .02 as compared to the optimal solution), which leads to a penalty of 112(0 .14) = 15 .68 Euros.The objective function value of the solution derived by the matheuristic is thus 2 , 957 .32 Euros, which is 2.24 Euros below the objective function value of the optimal solution.

Preprocessing technique
In this section, we present the preprocessing technique that is used in the third step of the matheuristic in more detail.To implement constraints (23), we need to determine for each eligibility pattern p ∈ P one or several sets of conflicting activities J c l p .Determining these sets without introducing redundancies is nontrivial and may become a computational bottleneck for large-scale instances if not implemented in an efficient manner.We propose a preprocessing technique that combines concepts from graph theory with array-computing to efficiently generate these sets.By using arrays (matrices) as the fundamental data structure, we can benefit from highly optimized array-computing libraries.The preprocessing technique consists of six steps.In Sections 6.1 -6.6 , we explain each step by means of an example that involves five activities j 1 , j 2 , j 3 , j 4 , and j 5 .Figure 6 shows an overview of the different steps of the preprocessing technique using this example.Table 9 provides the notation of the matrices used for the preprocessing technique.In Section 6.7 , we introduce an alternative mixed-binary linear programming formulation that uses the sets generated by the preprocessing technique.

Step one of the preprocessing technique
In step 1), we generate the conflict graph G from the predefined conflict rules.The nodes represent the activities and the edges represent the conflicts between activities.The conflict graph of the example used in this section is shown at the top of Fig. 6 .

Step two of the preprocessing technique
In step 2), we identify all maximal cliques in the conflict graph G using the NetworkX implementation (cf.Hagberg, Schult & Swart, 2008 ) of the algorithm of Bron & Kerbosch (1973) .Even though the problem of finding all maximal cliques in a graph is NP -hard, real-world graphs often exhibit properties that enable solving clique problems in a few seconds, even when the graph has millions of nodes.Walteros & Buchanan (2020) found that the maximum clique problem is easy to solve on graphs with a small clique-core gap which they define to be the difference between the graph's clique number and its degeneracy-based upper bound on the clique number.Like many other real-world graphs, also the conflict graphs considered in this paper have a clique-core gap of zero.We store these maximal cliques in a binary matrix A .Each row of matrix A corresponds to a maximal clique, and each column corresponds to an activity.A value of one indicates that the activity in the corresponding column is part of the maximal clique in the corresponding row.The conflict graph G of the example has three maximal cliques, and thus matrix A consists of c = 3 rows and | J| = 5 columns (cf.Fig. 6 ).

Step three of the preprocessing technique
In step 3), we select the first/next eligibility pattern p from set P .For illustrative purposes, assume that we select an eligibility pattern [1 , 1 , 1 , 0 , 0] with index p = 1 .All customers with this eligibility pattern are eligible for the three activities j 1 , j 2 , and j 3 but not for the activities j 4 and j 5 .

Step four of the preprocessing technique
In step 4), we derive the clique matrix B for the selected eligibility pattern p.The clique matrix B is computed by an elementwise multiplication of each row of matrix A with the eligibility pattern p.Only rows that contain two or more non-zero entries are relevant for setting up constraints to ensure conflict rules, because a conflict must always occur between at least two activities.Thus, we remove all rows that contain less than two non-zero entries.In the example, the resulting matrix B has c = 3 rows (cf.Fig. 6 ).

Step five of the preprocessing technique
In step 5), we remove cliques (rows) from the clique matrix B that are a subset of another clique (row) of matrix B .Here, a clique is a subset of another clique if it is either identical to the other clique or if it is contained in the other clique.A clique is contained in another clique if it has only values of one in columns in which the other clique also has values of one.In the example, the first and third cliques of matrix B are a subset of the second clique (cf.Fig. 6 ).We detect all cliques which are a subset of another clique using array-computing steps.These steps are illustrated for the matrix B in Fig. 7 .We start by multiplying matrix B with the transposed matrix (B ) T .The resulting integer matrix C indicates, in the diagonal, how many values of one the corresponding clique in the matrix B contains.The off-diagonal elements indicate, for each pair of cliques of the matrix B , how many values of one they have in common (how many values of one occur in the same columns).For the example, matrix C is displayed in Fig. 7 (cf. 1 ).Moreover, we generate a matrix D that contains the diagonal elements of matrix C in the rows.In the example, the first and the third rows of matrix D correspond to twos, and the second row of matrix D corresponds to threes.We then subtract matrix D from matrix C and store the values in an integer matrix E (cf. 2 in Fig. 7 ).The elements of matrix E show for each pair of cliques of the matrix B if the clique is contained in the other clique.For example, the element in the first row and second column of matrix E is zero, which means that the first clique of the matrix B is contained in the second clique of the matrix B .Naturally, the diagonal elements of the matrix E are zero, because each clique of the matrix B is identical to itself.We then want to remove the cliques that are a subset of another clique, i.e., the rows that contain a value of zero in an off-diagonal element of the matrix E .Here it is important to notice that if two cliques of the matrix B were exactly identical, then both of the corresponding rows in matrix E would contain a value of zero as an off-diagonal element, but we only want to remove one of these rows and keep the other one (otherwise we would miss a clique).To avoid removing too many cliques, we first check whether each clique in matrix B is a subset of a clique below it.Therefore, we fill the lower half and the diagonal of matrix E with values of negative one (cf.3 in Fig. 7 ).Note that we could fill in any arbitrary non-zero value.Next, we check which rows in matrix E contain a value of zero.The rows that contain a value of zero in matrix E indicate that the corresponding clique in matrix B is a subset of another clique and can be removed.In the example, we remove the first clique from matrix B (cf. 4 in Fig. 7 ).We also update the matrices C and D by removing the first row and first column.Next, we check whether each clique of matrix B is a subset of a clique above it.We continue with the updated integer matrix C and again subtract the updated matrix D to obtain the updated matrix E (cf. 5 in Fig. 7 ).Then, we again fill the diagonal of matrix E with values of negative one (the upper half of matrix E no longer contains any zeros because these rows have already been removed) and determine whether any values of zero occur in the lower half of matrix E (cf.6 in Fig. 7 ).The rows that contain a value of zero in matrix E again indicate that the corresponding clique in matrix B is a subset of another clique and can be removed.In the example, we remove the second clique from matrix B (cf. 7 in Fig. 7 ).

Step six of the preprocessing technique
In step 6), we derive the parameter n c p and the set(s) J c l p from matrix B .Each row of matrix B results in a constraint for the customers with eligibility pattern p.In the example, matrix B ultimately contains one row, and thus n c 1 = 1 .Set J c l p corresponds to the activities associated with constraint l = 1 , . . ., n c p .In the example, J c 11 = { j 1 , j 2 , j 3 } because the first row of matrix B includes ac-tivities j 1 , j 2 , and j 3 .Finally, we verify whether all eligibility patterns have been processed.If that is the case, we stop; otherwise, we select the next eligibility pattern p.For large-scale instances, steps 3) to 6) of Fig. 6 can be parallelized for different eligibility patterns to further reduce running times.
As an alternative to applying our preprocessing technique, the sets J c l p could be determined by computing an individual conflict graph for each eligibility pattern and by deriving the sets J c l p from these conflict graphs directly using the algorithm of Bron & Kerbosch (1973) on each of these conflict graphs.However, constructing a separate conflict graph for each eligibility pattern and computing the maximal cliques in each of these conflict graphs is much slower than the array-computing, especially for instances comprising a large number of eligibility patterns.Here, it is important to note that our preprocessing technique is not an alternative algorithm to compute maximal cliques but rather a procedure that generates the sets of conflicting activities J c l p for each eligibility pattern p without introducing redundancies; i.e., cliques that are a subset of another clique for a specific eligibility pattern p are identified efficiently, which prevents introducing a large number of redundant constraints (see Tables 12 and 14 ).

An alternative mixed-binary linear programming formulation
The parameters n c p and sets J c l p can also be used in a mixedbinary linear programming formulation to incorporate the conflict rules.Constraints (26) ensure that each customer i with eligibility pattern p is assigned to at most one of two or more conflicting activities J c l p .Set I p includes all customers with the eligibility pattern p.
We formulate an alternative mixed-binary linear program that uses constraints (26) instead of constraints (9) and reads as follows: (MBLP') Max. (1) (2) − ( 8) , ( 10) − ( 14) , (26) With constraints (26), fewer constraints are required to ensure the conflict rules without loss of generality.One advantage that we noticed is that for our problem instances the linear programming relaxation of model MBLP was tighter than the linear programming relaxation of model MBLP.

Results
In this section, we compare the performance of the matheuristic to the performance of the MBLP and MBLP .In Section 7.1 , we describe the generated and real-world instances.In Section 7.2 , we present the experimental design.In Section 7.3 , we compare the performance of the MBLP to the performance of the MBLP .In Section 7.4 , we assess the overall performance of our matheuristic and investigate the effect of two key components of the matheuristic on running time and solution quality.

Problem instances
Our test set comprises 13 real-world instances and 27 instances that we manually generated based on real-world data (cf.Table 10 ).First, we describe the generated instances in more detail.These instances include small (GS), medium (GM), and large (GL) instances.The small instances comprise up to 20 , 0 0 0 customers and 75 activities, the medium instances comprise up to 20 0 , 0 0 0 customers and 125 activities, and the large instances comprise up to 1 , 0 0 0 , 0 0 0 customers and 175 activities.We generated different instances by varying the eligibility fraction (small/large) and the number of eligibility patterns (few/many).The eligibility fraction specifies the percentage of activities a customer is eligible for on average.For the generated instances, the eligibility fraction in Table 10 might slightly differ from the actual eligibility fraction of the instance as a consequence of the randomized generation process.The response probabilities, the costs per assignment, and the expected profits were derived from real-world data.The costs per assignment and the expected profits were scaled with a factor to preserve confidentiality.The constraints were defined for each instance in consultation with the company.All generated instances are publicly available (cf. https://github.com/phil85/customer-assignment-instances ).The real-world instances consist of five large instances (RL) comprising up to 1.4 million customers and 385 activities, and eight very large instances (RVL) comprising over 2 million customers and up to 295 activities.While the RL instances have small eligibility fractions but many eligibility patterns, the RVL instances have high eligibility fractions but few eligibility patterns.The real-world instances are confidential and thus not publicly available.The instances GS1', GM1', GL1', RL1', RVL1' differ from the respective instances GS1, GM1, GL1, RL1, RVL1 only in terms of constraints.The instances GS1', GM1', GL1', RL1', RVL1' are infeasible if all soft constraints are considered as hard constraints.

Experimental design
The matheuristic, the MBLP, and the MBLP are implemented in Python 3.7 and the Gurobi 8.1 solver is used.All computations are performed on an HP workstation with one Intel Xeon CPU with 2.20 GHz clock speed and 128 GB RAM.Even though the running time budget of the company is 30 minutes, we applied the exact approaches with a time limit of 10 , 0 0 0 seconds to obtain better reference values for evaluating the solutions of the matheuristic.For the matheuristic, we set parameter k = 20 for all instances.The matheuristic is further applied to selected instances with different values of k .In consultation with the company, the constants α, β, γ , and δ are each set to the maximum absolute expected profit of the corresponding instance.Setting α and δ to the maximum absolute expected profit ensures that the objective function value cannot be improved by having fewer assignments or contacts than prescribed by the bounds.This reflects the preference of the company to reach the prescribed bounds if possible.The company accepts a shortfall or an exceedance of the lower and upper bounds on the number of sales if the corresponding assignments have a small or a large expected profit, respectively.Setting β and γ to the maximum absolute expected profit is an adequate penalty for sales constraints from the perspective of the company.The reported running times of all approaches include the time to compute relevant sets and parameters, the time to set up and solve the optimization models with Gurobi, and the time used for the iterative algorithm of the matheuristic.The time used for importing and exporting data is excluded because it is equivalent for all three approaches.

Comparison of MBLP and MBLP
First, we compare the performances of the MBLP and the MBLP .Table 11 reports, for each instance and each formulation, the objective function value (OFV), the total penalty and in brackets the number of slack variables that take a positive value, the MipGap, the total number of constraints, and the total running time.The entry "lim" means that the time limit was reached.A dash (-) indicates that setting up the respective model resulted in an outof-memory error.From Table 11 , we can conclude that the MBLP has much fewer constraints than the MBLP for all instances.As a consequence, a larger number of feasible and also optimal solutions can be derived, and the running times are generally shorter.Figure 8 compares the running times of the MBLP and the MBLP using performance profiles ( Dolan & Moré, 2002 ).Each curve corresponds to an approach and indicates for what fraction of problem instances the running time of the respective approach was within a factor τ of the shortest running time.The parameter r M is set to the highest factor that occurs plus one; and if an approach cannot solve an instance to optimality within the time limit, the factor for the corresponding instance is set to r M .From Fig. 8 (at τ = 1 ), we can see that the MBLP is the faster approach for 60% of the instances while the MBLP is faster for 17.5% of the instances.Note that the MBLP is only faster when solving small instances.
The MBLP maintains a considerably larger fraction up to τ = 1 .3 .Also for large values of τ (when the performance profiles become flat), we can see that the fraction of instances that can be solved to optimality within the time limit is higher for the MBLP than for the MBLP.To further investigate the substantial difference in the number of constraints of the MBLP and the MBLP , we applied the MBLP with and without step 5) of the preprocessing technique.As explained in Section 6 , step 5) removes the cliques from clique matrices that are a subset of another clique.Table 12 reports the total number of constraints to ensure conflict rules ( ) for groups of instances for the MBLP, the MBLP , and the MBLP without conduct-

ARTICLE IN PRESS
JID: EOR [m5G;May 16, 2022;23:40 ]  ing step 5).The results clearly show that the preprocessing technique is effective and that step 5) is essential.
We also examined two alternatives to the use of soft constraints.First, we tested a variant of the model MBLP in which all soft constraints are replaced by hard constraints.Of course, this variant was not able to devise solutions for the instances GS1', GM1', GL1', RL1', and RVL1'.For the other instances, the variant with hard constraints obtained identical or very similar results in terms of solution quality and running time as the variant with soft constraints.
Second, we tested a Lagrangian relaxation scheme (LRS).To obtain the LRS, we first formulated all soft constraints as hard constraints and deleted the penalty terms in the objective function.Next, we dualized the former soft constraints to obtain the Lagrangian subproblem.We iteratively solved the Lagrangian subproblem using the subgradient algorithm as described in Fisher (1981) and Fisher (1985) .It turns out that for most instances, the LRS is inferior to the MBLP in terms of running time and solution quality.Only for some of the large instances, the LRS was able to devise better solutions than the MBLP .However, these solutions are with one exception (GL5) still much worse than the solutions obtained by the matheuristic.For problem instance GL5, the LRS obtained a slightly better solution than the matheuristic (gap of 2.3%).The LRS also runs out of memory for the largest real-world problem instances.In our view, a main factor that negatively affects the performance of the LRS is that the Lagrangian subproblem in each iteration cannot be solved much faster than the original problem with hard or soft constraints because it still contains the large number of conflict constraints.

Performance of matheuristic
Next, we compare the performance of the matheuristic to the performance of the MBLP .The right part of Table 11 reports the results of the matheuristic.The columns for the matheuristic are the same as for the MBLP except for the column sum slack variables, which states the sum of the slack variables, and the last column, which reports the gap between the OFV of the solution derived by the matheuristic and the OFV of the solution derived by the MBLP .For each instance, we highlight the shortest running time and the highest OFV of all three approaches in bold.Note that some small positive penalties are rounded down to zero in Table 11 (cf.e.g., instance GS2).First, we compare the matheuristic and the MBLP in terms of solution quality.Most of the solutions of the matheuristic obtained with k = 20 are near-optimal.For problem instance GM8, we investigate how changing the value of parameter k affects the gap to the optimal solution and the running time of the matheuristic.Figure 9 visualizes the gap to the optimal solution and the running time of the matheuristic for various values of k .We can see that the gap can be further reduced by increasing parameter k .Interestingly, the gap decreases faster than linearly, whereas the running time appears to increase linearly.Parameter k can therefore be used to control the trade-off between solution quality and speed.Overall, there are only a few slack variables that take positive values, and the resulting penalties for the matheuristic are minor.Exceptions are the instances GS1', GM1', GL1', RL1', RVL1' which are infeasible if all soft con- straints are considered as hard constraints and thus, a (large) positive penalty value cannot be avoided.Next, we compare the two approaches in terms of running time.The matheuristic is substantially faster than the MBLP , especially for medium instances with a high eligibility fraction and for large and very large instances.Furthermore, the matheuristic is scalable to very large real-world instances.Figure 10 shows the running time for different steps of the matheuristic.From the bars, we can see that setting up the LP only plays a significant role if the instance has many eligibility patterns (cf.e.g., GL3-GL4, GL7-GL8, and RL1-RL4).In the first step of the matheuristic, customers who are eligible for the same activities are grouped together.Thus, instances with many eligibility patterns result in more groups and exhibit larger models, which explains the higher time consumption for setting up the LP for these instances.With increasing size of the RVL instances, primarily the running time for generating all sets and parameters increases (e.g., for deriving subsets of the activities that are associated with a specific constraint), whereas the rest of the steps require only a slightly longer running time.The preprocessing technique runs fast for all instances.Even for the largest instances, the matheuristic (with k = 20 ) always terminates in less than 10 minutes and is thus well within the running time budget prescribed by the company.
Next, we analyze the impact of the complexity parameters on the quality of the solutions obtained by the matheuristic.Therefore, we only consider the generated instances for which we systematically varied the complexity parameters.Generally, the average gaps increase with increasing eligibility fraction, as we can see from Table 13 .While the eligibility fraction has an effect on the average gaps, the number of eligibility patterns has almost no effect.We can see from Table 11 that the gaps remain small even with increasing numbers of customers and activities in the instances.Overall, the matheuristic provides high-quality solutions in a shorter running time than the MBLP and the MBLP .
Finally, we performed two experiments to assess the effect of two key components of the matheuristic on running time and solution quality.In the first experiment, we analyze the impact of step 5) of the preprocessing technique and in the second experiment, we analyze the impact of the new modeling technique used to consider the conflict constraints in the LP.
Table 14 summarizes the results of the first experiment.It shows the total number of constraints to ensure conflict rules (# conflict const. in LP) for groups of instances ( ) for the matheuristic and the matheuristic without conducting step 5) of the preprocessing technique.For the matheuristic without step 5), the increase in percent of the number of constraints to ensure conflict rules in the LP is stated in brackets (increase).Moreover, Table 14 states the total running time of both approaches (CPU).We can see that applying step 5) removes a substantial number of conflict constraints in the LP, and that setting up a smaller model leads to a lower total running time for all instance groups.Note that the solution quality is not affected by step 5) of the preprocessing technique.(11) − (13) , ( 16) − ( 22) , ( 24) , ( 25)

ARTICLE IN PRESS
Table 15 summarizes the results of the second experiment.It reports the objective function value (OFV), the penalty, the number of assignments (#agmts) in the LP solution (or in the LP solution), the number of assignments that are conducted in the iterative algorithm (#agmts (it.alg.)), and the total running time (CPU).The results in Table 15 demonstrate the advantages of using the new modeling technique.The new modeling technique considers the customer-specific constraints very effectively already in the grouplevel model such that almost all assignments in the LP solution can be conducted by the iterative algorithm.In contrast, the LP solution has many assignments that cannot be conducted by the iterative algorithm because they would violate customer-specific con-

ARTICLE IN PRESS
JID: EOR [m5G;May 16, 2022;23:40 ]  flict constraints.When a large fraction of assignments cannot be conducted by the iterative algorithm, some bounds of minimum assignment and sales constraints that were satisfied in the grouplevel model are violated after applying the iterative algorithm.This explains the large penalties and hence lower objective function values of the solutions of the matheuristic which uses model LP .The new modeling technique not only improves the solution quality but also reduces the running time because the group-level model has fewer constraints and a smaller number of assignments needs to be processed by the iterative algorithm.

Conclusion
In this study, we introduced a real-world planning problem of a telecommunications company.The planning problem consists of assigning existing customers to direct marketing activities subject to various business constraints, such as budget and sales constraints, and various customer-specific constraints.The customerspecific constraints ensure, for example, that individual customers are generally not assigned to the activities too often and that the customers are not assigned to activities that are subject to a conflict.Such a conflict may exist, for example, between two activities that are scheduled within the same week.Existing approaches that deal with customer assignment in direct marketing do not consider such customer-specific constraints and are thus not applicable to the planning problem at hand.We developed a matheuristic that first solves an optimization problem for groups of customers and then iteratively assigns individual customers to the activities based on the solution to the group-level problem.New modeling techniques and a preprocessing technique are introduced to consider customer-specific constraints already in the group-level model.In a computational analysis, we demonstrated the effectiveness of the preprocessing technique and the problem decomposition strategy of the matheuristic based on a test set that includes generated and real-world instances.The proposed preprocessing technique is able to reduce the number of constraints in the models by up to 95%.Even when the number of groups is relatively small, the average gap of the solutions derived by the matheuristic to the optimal solutions of the generated instances is only 1.8%.Increasing the number of groups further reduces the gap while prolonging the running time only slightly.The matheuristic is currently in use at the company and has lead to an overall improvement of its key performance indicators.The company estimates based on a proof of benefit conducted on a selected campaign that the use of the matheuristic increased the number of sales by 90%, which improved the profitability of this campaign by around 300%.
In future research, we will extend the planning problem to include multi-stage campaigns.In such campaigns, customers can only be assigned to activities of a non-initial stage when they have been assigned to an activity of each previous stage.A promising direction for future research is the development of strategies for grouping customers with different eligibility patterns, as pointed out in Section 5.1 .Moreover, it would be interesting to adapt the preprocessing technique and the decomposition strategy to related planning problems such as the bin packing problem with conflict constraints.Finally, another direction for future research is to incorporate the conflict constraints with branching rules as done in the exact solution approaches of Ş uvak et al. ( 2020) for the maximum flow problem with conflict constraints and of Ş uvak, Altınel, & Aras (2021) for the minimum cost flow problem with conflict constraints.

lllllll
Activities associated with minimum assignment constraint l = 1 , . . ., n a J a Activities associated with maximum assignment constraint l = 1 , . . ., n a J b Activities associated with budget constraint l = 1 , . . ., n b J m l Activities associated with minimum contact rule l = 1 , . . ., n m J m Activities associated with maximum contact rule l = 1 , . . ., n m J s l Activities associated with minimum sales constraint l = 1 , . . ., n s J s Activities associated with maximum sales constraint l = 1 , . . ., n s Lower bound of minimum assignment constraint l = 1 , . . ., n a b a Upper bound of maximum assignment constraint l = 1 , . . ., n a b b Upper bound of budget constraint l = 1 , . . ., n b b m l Lower bound of minimum contact rule l = 1 , . . ., n m b m Upper bound of maximum contact rule l = 1 , . . ., n m b s l Lower bound of minimum sales constraint l = 1 , . . ., n s b s l Upper bound of maximum sales constraint l = 1 , .
c maximal cliques of conflict graph G in rows B (c × | J| ) Binary Contains the c rows with two or more non-zero entries that result from an element-wise multiplication of each row of matrix A with eligibility pattern p C (c × c ) Integer Obtained by multiplying the matrices B and (B ) T D (c × c ) Integer Contains diagonal elements of matrix C in each row E (c × c ) Integer Obtained by subtracting matrix D from matrix C

Fig. 7 .
Fig. 7. Example for removing cliques from the binary matrix B that are a subset of another clique.

Fig. 9 .
Fig. 9. Instance GM8: gap to optimal solution vs. running time of the matheuristic for different values of k .

Table 1
Activities of the illustrative example.
and produces an expected profit of 2 , 973 Euros.The maximum sales constraint is

Table 2
Expected profits and response probabilities of the illustrative example.

Table 7
Additional notation of linear model.Activities associated with constraint l = 1 , . . ., n c p , which ensures conflict rules for groups with eligibility pattern p

Table 10
Generated and real-world problem instances.

Table 12
Number of constraints to ensure the conflict rules.

Table 13
Average gaps of the matheuristic for generated instances by eligibility fraction and eligibility patterns.Only instances that are solved to optimality by the MBLP are considered.

Table 14
Number of constraints to ensure the conflict rules in matheuristic. Max.

Table 15
Effectiveness of new modeling technique to incorporate conflict constraints in group-level model.