## 2 The Problem  
As mentioned previously, we consider the problem of unrelated parallel machine scheduling with job and machine acceptance as well as resource allocation and transportation constraints. This type of problem can be used in the context of establishing a production facility without capital or with little capital and no infrastructure. Both machines and resources are rented, while resources need to be transported to and between fixed machine locations. Jobs are transported to machine locations but not between machines because they can be operated in parallel. Let us first describe several parameters that are used to define our problem. We begin with the general parameters below:  
* \(n\), the number of jobs (\(j=1,\ldots,n\));
* \(m\), the number of machines (\(i=1,\ldots,m\));* \(k\), the number of resource types (\(r=1,\ldots,k\));
* \(l_{r}\), the number units of a resource type \(r\) (\(q=1,\ldots,l_{r}\)). Next, we have the parameters that define a job, \(\forall j\in 1\ldots n\):
* \(p_{j}\), the selling price of job \(j\);
* \(pc_{j}\), the penalty cost of not selecting job \(j\);
* \(fc_{j}\), the fixed cost of handling job \(j\);
* \(d_{j}\), the due date of job \(j\); finishing the job after this date incurs a tardiness penalty;
* \(tc_{j}\), the tardiness cost of job \(j\) per unit of time;
* \(\bar{d}_{j}\), the deadline of job \(j\); a job cannot be finished after this date. We continue with the parameters that define a machine, \(\forall i\in 1\ldots m\):
* \(rcn_{i}\), the renting cost of machine \(i\) per unit of time;
* \(mwtn_{i}\), the minimum renting time of machine \(i\). A machine can be rented for a shorter period of time; however, a minimum renting cost proportional to \(mwtn_{i}\) will need to be paid. Next, we have the parameters that define the resource types, \(\forall r\in 1\ldots k\):
* \(rcr_{r}\), the renting cost of resource type \(r\) per unit of time;
* \(trcr_{r}\), the cost of transporting resource \(r\) between any two machines;
* \(trtr_{r}\), the time needed to transport resource \(r\) between any two machines;  
Several parameters depend on both the jobs and the machines, such as, \(\forall i\in 1\ldots m\), \(\forall j\in 1\ldots n\):  
* \(t_{ij}\), the processing time of job \(j\) on machine \(i\);
* \(rcj_{ij}\), the cost of transporting job \(j\) to machine \(i\);
* \(trtj_{ij}\), the time for transporting job \(j\) to machine \(i\). Finally, a single parameter concerns both the jobs and the resources, \(\forall j\in 1\ldots n\), \(\forall r\in 1\ldots k\):
* \(a_{j}\), a binary indicator for job \(j\) requiring resource type \(r\) in order to be processed. In order to illustrate the problem, we consider the following example. An event-planning company rents one or multiple venues in order to set up different events while, at the same time, taking care of contracting and transporting the performers. Following a bidding process, the company is awarded four events (jobs in a scheduling context) (\(n=4\)), and three venues (machines in a scheduling context) are available to be rented in its area (\(m=3\)). Each event requires one or multiple performers of different categories, such as opera singers and symphony bands, which can be considered as resources in a scheduling context. Therefore, up to two types of resources (\(k=2\)) are needed, with two opera singers and three symphony bands currently being available to our event planning company (\(l_{1}=2\) and \(l_{2}=3\)). Each job comes with its offer revenue and its set-up costs, but also the associated running costs. Furthermore, as these jobs have been awarded to the company, a penalty fee will be incurred if the job is forfeit. Each job comes with a due date for delivery, after which, penalties will be incurred by our company, as well as a hard deadline. These parameters may be found in Table 1.