Abstract
Sales of extrusion 3D printers have seen a rapid growth and the market value is expected to triple over the next decade. This rapid growth can be attributed to a step change in capability and an increase in demand for 3D printed parts within mechanical, industrial and civil engineering processes. Correspondingly, a new technical prototyping platform – commonly referred to as Fabrication Laboratories – has emerged to provide a stimulus for local education, entrepreneurship, innovation and invention through the provision of on-demand 3D printing and prototyping services. Central to the effectiveness of the on-demand 3D printing and prototyping services – hereby referred to as 3D managed print services – is their ability to handle multiple users with varying knowledge and understanding of the manufacturing processes and scaling numbers of 3D printers in order to maximise productivity of the service. It is this challenge of productivity and more specifically the scalability and scheduling of prints that is considered in this article. The effect of scale and scheduling strategies on productivity is investigated through the modelling of four scheduling strategies for 3D managed print service of varying scales by altering the number of available printers and level of user demand. The two most common approaches (first-come first-serve and on-line continuous queue) and two alternatives based on bed space optimisation (first-fit decreasing height and first-fit decreasing height with a genetic algorithm) have been considered. Through Monte-Carlo simulation and comparison of the strategies, it is shown that increasing the scale of 3D managed print service improves the peak productivity and range of user demands at which the 3D managed print service remain productive. In addition, the alternative strategies are able to double the peak productivity of 3D managed print service as well as increase the user demand range where the 3D managed print service remains productive.
Introduction
Sales of extrusion 3D printing have seen a rapid growth and the market value is expected to triple over the next decade. 1 From the initial development of the open-source RepRap 3D printer in 2005, the industry has rapidly expanded with a number of companies offering extrusion 3D printing solutions that are constantly improving the accuracy, reliability, quality and capability of 3D printers. 2 Examples include MakerBot, 3D Systems, UP!, MostFun and M3D (a more complete list can be found at http://www.3ders.org/pricecompare/3dprinters/).
This competition between manufacturers has enabled the technology to mature within a relatively short time-span. Consequently, the cost of printing has given rise to a new industry of Fabrication Laboratories (FabLabs),3,4 which aim to support local entrepreneurship, education, innovation and invention through the provision of on-demand 3D printing and prototyping services. This provision of on-demand 3D printing services is hereby referred to as 3D managed print service (3D MPS). For example, the University of Bristol has recently implemented a 3D MPS featuring 10 3D printers within its FabLab (Figure 1). The FabLab is available for use by staff, students and entrepreneurship innovation events during the typical working hours from 9 a.m. to 5 p.m. and is supported by the technicians of the engineering faculty. The 3D MPS commonly sees between 25 and 100 users attempting to print every day and this popularity has given rise to three challenges.

The FabLab at the University of Bristol featuring lathes, pillar drills, fixtures store, laser cutters, 3D printers, workstations and hand-tools store.
The first involves the need to verify the print-ability of print files before being submitted. In the context of the hobbyist, the issue of the print file being non-printable has not been a major concern as it was typically considered to be part of understanding and refining the capabilities of their own printer. However, when scaled up and in the commercial context, this poses a major issue. A failed print due to a non-printable model can lead to a needless waste of material, loss of time where other models could be printed and potential damage being caused to the printer. All these factors negatively impact the cost of operating a FabLab. This is also a concern within an educational environment where it may be more likely that a print may be non-printable due to the users not having the necessary design for additive manufacturing (DfAM) knowledge.
The second challenge considers the productivity of 3D MPS. Again, this was not previously a concern for the hobbyist; however, one of the key benefits of 3D MPS is to provide a reliable and quick service for producing parts. It is common to see many 3D MPS operate on a first-come first-serve (FCFS) basis requiring manual submission of parts to 3D printers by users who generate print files on their local machines. This is partly due to the fact that much of the support software offered has been designed for a single user submitting to a single printer and the often non-networked nature of the 3D print machines. This commonly leads to periods of peak demand where all the printers are in use and users are unable to submit their prints, as well as periods of low utilisation (e.g. where users are unable to submit their prints due to facility opening hours). More recently, manufacturers have begun to offer networking features on their printers and provide on-line tools for the queuing of prints. However, users generally submit single models within their print files resulting in underutilised bed spaces. This forms large print queue that require are a large number of change overs and thus, printer downtime.
The third challenge involves the monitoring of the printer condition and quality of prints in real-time. As the technology is still in its relative infancy, reliability remains a concern for 3D MPS where prints fail due to blockages, errors in the calibration, accuracy drift and running out of material (a more exhaustive list has been compiled by http://reprap.org/wiki/Print_Troubleshooting_Pictorial_Guide). To overcome this, it is common to have manual monitoring and intervention procedures in place as there are currently little to no automatic support tools that provide features such as in-process monitoring of 3D printers. In addition, the informal submission process whereby users manually check the availability of the printers, submit a print file to an available printer, leave the facility as the printer produces their design, then return later to check the completion of their prints leads to a further challenge in ensuring the demands on the 3DMPS are met. This challenge comes in the form of the manual removal of prints where the changeover period is highly dependent on the availability and response time of the support staff and users of the printer service.
This article builds on previous work by University of Bristol where a framework for supporting 3D MPS is proposed and investigates the effect of scale and scheduling strategies on the productivity of 3D MPS. Scale has been varied through the number of available printers and level of user demand, while scheduling has been investigated through the modelling of four different strategies. The first two are typically used in current 3D MPS and are the FCFS and on-line continuous queue (OLCQ) strategies. The second two have been proposed by this article with a view to enhance the productivity of the 3D MPS through the optimisation of the 3D printer bed space. This is achieved by a strategy that can extract part print code from individual print files and then re-combine them to optimise the bed space layout. This enables more parts to be printed concurrently with a reduction in print changeover time. To analyse the scalability and productivity of the scheduling strategies, Monte-Carlo simulations of the scheduling strategies have been conducted with a range of printers being available and level of demand for the service.
The article continues by discussing work related to the scalability and productivity of scheduling strategies in manufacturing systems, and how the principles can be applied in the context of 3D MPS. This is followed by a discussion of the four scheduling strategies that have been modelled, which then leads into the Monte-Carlo analysis that seeks to provide an insight into how the productivity by altering the scale through the number of printers and the level of user demand. A discussion then ensues with regard to the comparison of the various scheduling strategies and the potential avenues for future work and research.
Related work
The combinatorial optimisation field continues to be an active area of research where an ever-increasing number of algorithms and techniques being developed to tackle a large number of optimisation problems. More specifically, the optimisation problem described in this article is one of scheduling and print bed utilisation. These areas have been explored extensively for subtractive manufacturing processes but not for the emerging additive manufacturing field.5–9
For example, Figure 2 shows results from a review by Mukherjee and Ray 10 who classified the optimisation techniques that have been employed to the cutting process of metals. They highlight that each technique is able to enhance certain characteristics of the cutting process however, such is the multi-objective nature and number of variables that can be altered, there remains opportunities in being able to combine the affordances of the various optimisation techniques. This is further supported by Gahm et al., 11 who attempt to achieve the same aim of generating a framework for combining the various optimisation techniques for energy-efficient scheduling for manufacturing companies. The push for evermore energy-efficient manufacturing systems can be seen as an increasingly prominent objective for recent manufacturing process optimisation techniques.12,13

Classification of the techniques used to optimise the metal cutting process (from Mukherjee and Ray 10 )
Recent advances in scheduling optimisation of subtractive manufacturing systems have focused on the sequencing and handling of multiple work-flows through machines with varying capabilities. For example, Tang et al. 14 have investigated the process requirements to generate various steel compounds through the same manufacturing facility and how to best schedule the machines in order to generate the required batches of materials. In addition, it is acknowledged that research into multiple optimisation techniques should be brought to bear on the same problem in order to uncover a more definitive solution.
More recent innovations have involved the application of agent-based models whereby each machine has the ability to communicate with others in the scheduling strategy. Phanden et al. 15 highlight that they may perform well in scenarios where there are a high number of agents and negotiations between agents remain low but there remains challenges in handling multiple objectives as well as matching the model to a real-world manufacturing process. However, this is seen as a potential future pathway for the manufacturing industry and is an area of particular interest for many research funding bodies. 16
As well as agent-based approaches, Lin et al. 17 and Gen and Lin 18 discuss how network modelling of the manufacturing process alongside an evolutionary algorithm can be used to optimise the scheduling of manufacturing systems. Again, the results show that particular approaches to optimising the scheduling problem outperformed one another at different operating conditions such as size of facility, length of operation and user demand.
Although extant literature exists on the subject of scheduling optimisation of manufacturing systems, there remain fundamental challenges in being able to model a real-world production environment with assumptions still being made when modelling. In particular, Aytug et al. 19 highlight that being able to model the uncertainty within the process such as user demand and potential issues leading to the need to re-schedule production remains an area of development. In addition, the definition of the problem remains a crucial element of any optimisation of a production environment as a micro-optimisation of a single sub-system may lead to a sub-optimal macro-optimisation of the entire system. 5 The ability to determine the appropriate trade-offs and weightings of particular objectives continues to be an area of contention.
This brief discussion highlights that the optimisation of manufacturing systems remains a major area of study with new approaches and techniques being developed. In summary, the key learnings that can be applied to the developing additive manufacturing field are to:
Define and continue to refine the optimisation problem statement for a 3D MPS;
Ensure modelling reflects real-world 3D MPS environments;
Apply existing techniques in order to build a case of what can be achieved currently;
To use (3) to inform and build advances in the optimisation of 3D MPS.
It is these learnings that this article aims to provide an initial baseline of current practice can be improved and developed upon in subsequent research.
Modelling the scheduling model of 3D MPS
This section presents the four scheduling strategies considered in this article. Two have been generated from current practice, the first being the strategy of FCFS and the second being an OLCQ strategy. The remaining two strategies are based on the optimisation of the printer bed space through the re-arrangement of the part print code. The first applies the first-fit decreasing height (FFDH) algorithm to optimise the bed space based on the initial orientation of the print parts while the second enables the parts to be re-oriented by employing a genetic algorithm alongside the FFDH algorithm.
Each scheduling strategy is modelled through computer simulation and a Monte-Carlo analysis performed to characterise the effect of varying scales and user demand on the 3D MPS. The models replicate a days worth of activity on a 3D MPS. In addition, assumptions have been made to simplify the modelling and maintain a focus on how the scheduling model effects productivity rather than any additional factors such as issues with the 3D printers occurring. The assumptions are as follows and are in line with those made in classical scheduling theory. It is contended that the assumptions represent a reasonable starting point for defining the problem within this new 3D MPS context.6,9 The assumptions and justification are as follows:
Machines are always available and never break down.
Future developments in 3D printing will alleviate the current failure of prints through improved verification of print files and reliability of the machines.
No printers run out of filament during the day.
Printers have a sufficient store of filament to run for a few days and printers have the capability to print with multiple filaments. A capability that is being included in many new 3D printers.
Set-up times are independent of the scheduling strategy and are included in modelling times (10-min set-up time for this case).
Empirically derived from the monitoring of time taken by individuals of the University of Bristol FabLab to set-up and start prints.
Each machine can only print one job at any time.
The majority of current 3D printers are only capable of handling one print code submission at a time.
A maximum of one print can be submitted per minute.
Derived from the analysis of print times of parts used in this study revealed that no model could be manufactured in under a minute.
No pre-emption is allowed (once an operation is started, it is continued until complete).
It is often the case that the user who submitted the print will leave the printer unattended, and thus, the print usually near completion before a failure is detected.
This section continues by discussing the models for each of the scheduling strategy.
FCFS
FCFS is essentially the default scheduling strategy for 3D MPS and is potentially due to the process in which the print files are generated by the current software solutions. The majority of which relies on the user importing a stereolithography (STL) file of their model and manually controlling a variety of print parameters to generate the final print file. Such parameters include bed space placement, orientation, infill design, infill percentage, layer height, and, whether to include rafts and/or supports. Once the print file is generated, the users can manually submit their file to the service if a 3D printer is available. Figure 3 shows the work-flow for the computer model of the FCFS.

First-come first-serve scheduling model.
The first stage (1a) sets up the initial conditions for the 3D MPS that will be used by the scheduling model. These include the following:
The number of printers available to the 3D MPS;
The probability of a user arriving to submit a print, the length of the day that the 3D MPS will be operating for;
The length of the day that the 3D MPS will be operating for;
The list of potential print files that could be submitted.
This set of parameters is consistent across all the models during the Monte-Carlo analysis. Once the initial conditions of the model have been set, the model moves to stage 1b where the iteration for a days worth of 3D MPS activity occurs. The day has been discretised to minute intervals. Minute intervals are also used for the print durations of the submitted files. For every minute of the day, the model calculates whether a user has arrived to submit a print (1c) based upon the likelihood of a user arriving, which has been set in the initial conditions (1a). If a user arrives, the model then checks to see whether a printer is available (1d). If a printer is not available (1e), then the user is turned away but the print that the user would have submitted is logged. Otherwise, a printer is available (1f) and the user submits a random print file from the list provided in the initial conditions.
The model iterates until the day is complete and at the end of the simulation (1g), statistics on the number of parts printed, the total number of prints that the users wished to print and the activity levels of the printers is outputted.
OLCQ
On-line Continuous Queue (OLCQ) scheduling strategies are starting to become more common in 3D MPS as commercially available scheduling support tools are beginning to support this strategy. The premise of OLCQ is to provide an on-line interface for the submission of parts to the 3D MPS. The print files are then queued sequentially and submitted to the printers when a printer becomes available. This has been modelled by the work-flow, as shown in Figure 4.

On-line continuous scheduling model.
As with the FCFS model, the OLCQ model initialises itself by requesting the number of printers available to the 3D MPS, the probability of a user submitting, the length of the operating day and the list of print files that the users can select from (2a). For every minute of the simulated day (2b), the model first calculates whether a print file has been submitted (2c). If Yes, the model randomly selects a print file from the list and appends it to the print queue (2d). If No, the model continues to stage 2e, which is met by (2d) after a print has been appended to the print queue. Stage 2e assesses whether there are prints available in the queue and if so, the model then checks the current availability of the printers (2f). If both return yes, the model moves to stage 2g where the available printers are iterated through and print files allocated in the order that they were submitted.
The model iterates through the entire day and returns the same statistics as the FCFS model including the number of parts printed, the total number of prints that the users wished to print and the activity levels of the printers is outputted.
Bed optimisation using FFDH
The third scheduling strategy involves the optimisation of the bed space by positioning parts using the FFDH algorithm. 20 This requires the extraction of individual part print code from the print files being submitted. This includes handling print files that contain more than one part. This has been achieved by Gopsill and Hicks 21 through the use of density-based spatial clustering of applications with noise (DBSCAN) to identify parts within the print files. 22 This is demonstrated in Figure 5 where the technique has been able to identify the five separate parts within the print file. Borders can then be produced around each part to separate them. These are then used in the FFDH algorithm in order to optimise the utilisation of the bed space. This differs significantly as it offers an automated strategy to bed space optimisation as opposed to the current strategy of bed space management, whereby users manually import and organise their own models on the bed space as previously discussed in FCFS strategy. In addition, the sharing of the printer bed currently depends upon user discretion and the availability of additional users in the facility who wish to print.

Identifying separate parts within a G-code print file: (a) bed of parts within a single G-code file and (b) part identification within a single G-code file.
Figure 6 details the work-flow for the bed space optimisation using FFDH scheduling model and the initial stages follow a similar pattern to the FCFS and OLCQ models. First, there is the initialisation stage (3a) where the number of printers available to the 3D MPS, probability of a user submitting, the length of the day and list of potential print files are set. The model then iterates through every minute of the print day (3b).

FFDH scheduling model.
During the iteration of a minute of the print day, the model determines whether a print file is submitted by a user based upon the probability of a user submitting (3c). If so, a print file is randomly selected from the list of potential prints. The model then applies DBSCAN to analyse and separate the parts from the print file (3d). Once the parts have been separated, print borders are generated based upon their minimum and maximum x, y co-ordinates alongside an additional border spacing of 2 mm to allow a gap between the parts to be printed on the bed (3e, Figure 7(a)). The parts are then appended to the list of parts that need to be printed by the 3D MPS (3f).

Generating an optimised printer bed: (a) parts identified and print borders drawn and (b) bed space optimisation using FFDH using available parts in print queue.
Paths from (3c) and (3f) join ahead of (3g) where the model checks whether there are any parts within the print queue. If this is the case, an additional check is made to see whether any printers are available to print (3h). These both have to be Yes before the model is permitted to continue to (3i) otherwise, and the model returns to iterate for the next minute in the print day. If the model reaches (3i), the model runs a loop of all the available printers and calculates the optimised print bed using FFDH with the available parts in the print queue (3j, Figure 7(b)). To note, this optimisation model often takes milliseconds to model and thus, could be iterated in real-time if applied to a 3D MPS. Once the optimised bed space has been determined, the associated print code for each of the parts is translated to appropriate x, y co-ordinates on the bed and is spliced together, layer by layer to form the final print code (3k). To further minimise the contribution of travel moves, the splicing stage solves for the travelling salesman problem (TSP) between the parts on the print bed. This is an NP-complete problem that was first formulated in the 1800s and the task is to find the shortest distance between a set of known connecting points given their pairwise distances. 23 This was solved by identifying the smallest Hamiltonian cycle using the NetworkX python package. 24 In addition, a particular affordance of this method of scheduling is that it enables the users to maintain full control of how they would like their part(s) to be printed such as layer heights, infill design, support and rafts. The final print file is then submitted to the printer and the associated parts are removed from the print queue.
The model iterates through the entire day and returns the same statistics as the FCFS and OLCQ models, which are the number of parts printed, the total number of prints that the users wished to print and the activity levels of the printers is outputted.
Bed optimisation using first-fit decreasing height and a genetic algorithm
The fourth strategy considered in this article is the application of a genetic algorithm (GA) alongside the optimisation of the bed space using first-fit decreasing height (FFDH + GA). The previous model solely used FFDH as the optimisation technique and preserved the orientation of the part models with respect to their original print files. The GA aims to extend the capability of the FFDH bed space optimisation by enabling 90° re-orientation about the vertical print axis (z) of the parts within the print queue. The ability to re-orientate the parts increases the number of options available to the optimisation of the bed space and with this, may further increase the productivity of the 3D MPS. This potential has been previously exploited by Hopper and Turton 25 in the optimisation of cutting rectangular wood, glass and metal plates.
The model of the FFDH and GA follows a very similar model to the FFDH model apart from where the optimisation of the bed space occurs ahead of being sent to the printer. In a real-world 3D MPS system, the optimisation could be constantly iterating throughout the day as new parts are appended and print files sent to the printer(s). To simulate this, the model allows the GA to run for a hundred generations for every minute of the print day. The run-time for an iteration of the optimisation is in the region of 0.0004–0.0075 s (code run on a 15-in MacBook Pro Retina i7, Python 3.5), and thus, a hundred times could comfortably occur within a minute of an actual print day.
Figure 8 depicts the work-flow for the FFDH + GA scheduling strategies and as with the previous strategies, the model requires initialisation by setting the number of printers available to the 3D MPS, the probability of a user arriving, the length of the print day and a list containing all the possible prints (4a). The model then begins the loop for every minute of the print day (4b) where the first step within the iteration is to determine whether a print has been submitted to the service (4c). If Yes, the model follows the same model as the FFDH strategy whereby the parts are separated from the print file, the borders calculated and the parts are then appended to the queue of prints (4d-f).

FFDH + GA scheduling model.
4c and 4f then rejoin and the model continues by detecting whether there are any parts to print (4g). If Yes, the model then checks to see whether any printers are available to accept a print file (4h). If any of these return No, the model continues to loop for the next minute of the day. If both return Yes, the model continues to 4j where the optimisation of the bed space using FFDH and a GA with the available parts within the print queue occurs.
The GA begins by generating an initial population where the population consists of a set of orientations assigned to parts within the print queue. The differentiating factor between the sets within the population is that the orientations have been randomly altered. The GA is then run for 100 generations (4k) and involves the calculation of the FFDH optimised print bed for each set of orientations (4l). The sets are then ordered by level of coverage that has been achieved for the bed space. The top 25 are kept for the next iteration (4m) and 50 new sets are generated by randomly taking one of the top 25 and mutating a couple of part orientations (4n). The remaining 25 are newly generated sets of orientations for the parts (4o).
Once the GA has been through 100 generations, the set of orientations that has generated the optimum bed space is selected and the associated parts are removed from the print queue to form the print file that is submitted to the available printer (4p). The work-flow continues iterating until the day of printing has been completed and at the end (4q), the number of parts printed, total number of prints submitted and level of print activity is returned.
The effect of scaling and scheduling strategy on 3D MPS productivity
To assess the effect of scaling and scheduling strategy on a 3D MPS productivity, a Monte-Carlo simulation of the four scheduling models has been conducted. The Monte-Carlo simulation has been run by randomly varying
The number of printers available;
The number of users submitting prints;
The print files that they submit for a day of printing by the service.
In order to be representative of a real-life 3D MPS, the proposed print files for the 3D MPS have been generated from eight popular products from the popular 3D printing website Thingiverse (links to the files have been provided in Appendix 1). Figure 9 highlights some of the parts associated with the selected products. The parts consist of a range of structural, functional and fixtures with varying geometries and sizes.

Examples of the parts available within the dataset: (a) compressor component, (b) bolt, (c) nut, (d) butterfly nut, (e) gear, (f) structural element, (g) bracket and (h) piping.
The parts of the products form a dataset of 79 single parts. From this, a set of bed spaces with a number of parts ranging from two to five have been generated. This leads to a final dataset of 204 print files and the distribution of parts per print file is shown in Figure 10(a) and their distribution of print times is shown in Figure 10(b). The dataset is used in the subsequent Monte-Carlo simulation for the random selection of a print file to be submitted to the 3D MPS. The output of the Monte-Carlo simulations comes in the form of the number of submissions sent to the printer, printer activity and number of submission printed.

Example parts within dataset: (a) distribution of parts per G-code file and (b) distribution of print times.
The assessment of productivity (
Therefore,
The following sections present the results for the Monte-Carlo simulation for each of the scheduling models. A discussion of their relative merits and comparison of their capabilities, as well as potential areas for future work and further development of scheduling strategies for 3D MPS, are then given.
FCFS
Figure 11 shows the results of the Monte-Carlo analysis for the FCFS scheduling model. The first feature to note is that each 3D MPS modelled peaks at different numbers of submissions with more printers enabling a greater number of submissions at a higher rate of productivity (11i). However, the increase in productivity due to an increase in printers begins to plateau when the 3D MPS reaches 20 printers (11ii). The maximum productivity reached by the 3D MPS is 0.64. In addition, once the 3D MPS peaks in productivity, it is quickly overtaken by 3D MPS with more printers available to it. The remaining feature to highlight is a decrease in variance from the Monte-Carlo analysis as the 3D MPS reaches and passes it ability to meet the demand of the users (11iii).

The productivity of a 3D MPS using first-come first-serve scheduling.
OLCQ
The results from the OLCQ scheduling model are shown in Figure 12. It is immediately apparent that the scheduling model follows a similar pattern to the FCFS model where increasing the scale of the printer service enables more submissions to be handled at a higher rate of productivity. The model also follows a similar trend of diminishing returns in terms of productivity as the number of printers increases. The results also show that the OLCQ model reaches its maximum productivity with fewer 3D printers in the service at around 10 printers as opposed to 20 for the FCFS model.

The productivity of a 3D MPS using OLCQ scheduling.
Comparing the OLCQ to FCFS reveals that there is an overall increase in productivity in all cases. In particular, the OLCQ model doubles the productivity of a single printer 3D MPS at the 0–10 and 10–20 submission rates (12i) and increases the peak productivity to 0.71 as opposed to 0.64.
Bed optimisation using FFDH
Figure 13 shows the results from the Monte-Carlo analysis for the bed optimisation through the FFDH scheduling model. Again, the model follows the same trend of increased productivity as the size of the 3D MPS in terms of printers increases. Also, as the number of printers in 3D MPS increases, the kurtosis of the distribution becomes more negative and thus, indicated that the 3D MPS is generally more productive across a greater range of submissions.

The productivity of a 3D MPS using part separation and FFDH scheduling.
Comparing the FFDH model with the FCFS and OLCQ models, it can be seen that a substantial gain in productivity of the 3D MPS is achieved across the board. In particular, the peak productivity attained is 0.85, which is a 20% increase over the OLCQ model and a 30% increase over the FCFS model. It is also interesting to note that the peak of productivity for the various sizes of 3D MPS occurs at higher numbers of submissions. For example, the peak of five printers occurs at 40–50 submissions (13i) compared to 30–40 for the OLCQ model and 20–30 for the FCFS model. This reveals that the bed optimisation scheduling enables smaller 3D MPS to handle a greater number of submissions with a higher level of productivity.
Bed optimisation using first-fit decreasing height and a genetic algorithm
Figure 14 shows the results from the Monte-Carlo simulation on the FFDH + GA scheduling model. It can be seen from the profiles generated for all the sizes of 3D MPS that the results are very similar to the FFDH scheduling strategy. In particular, it is very similar when the number of submissions increases. This is due to the print queue having enough parts so that an optimum combination for the bed space can always be achieved, and that the shapes considered are rectangular, non-entrant and are of similar aspect ratios, which enables easy tessellation.

The productivity of a 3D MPS using part separation, FFDH and GA scheduling.
Although similar to the FFDH strategy, there are a couple of distinct features when FFDH is combined with a GA. The first (12i) lies at the low number of submissions for a single printer 3D MPS where a significant increase in productivity is achieved. This shows that being able to orientate the parts is particularly beneficial for these scales of 3D MPS. The second feature (ii) lies at the 10 printer profile range where a slight plateau can be seen at the 110–120 regions. This may have occurred because of the initial conditions (i.e. the corpus of print files that has been made available to the scheduling models) enables the GA to improve the optimisation of the bed space over the FFDH strategy.
Discussion and future work
The results from this investigation into the effect of scale and scheduling have revealed some interesting features and shown that substantial improvements can be made to the productivity of 3D MPS. In each scheduling case, it has been shown that the productivity of the 3D MPS increases by increasing the number of 3D printers available, provided that there is sufficient demand for the service. However, the increase in productivity does not increase linearly with the increase in printers, and in fact, there is a diminishing return in the productivity of the service. In addition, as the number of printers in the service increases, the range at which the service achieves 90% of its peak productivity increases. This is confirmed by the range bars presented in Figure 15.

Comparing the peak productivity of the four scheduling strategies (note: the range bars show the 90% peak productivity range).
Figure 15 also shows the comparison of the 3D MPS productivity in relation to the four strategies proposed in this article. The values represent the peak productivity value attained by the service and the point indicates the position in terms of the number of submissions at which it occurred. Comparison of the values shows that the FCFS strategy is the weakest in terms of returning a peak value in productivity. Using the FCFS as a datum, the on-line queue strategy saw an improvement of between 10% and 60% in peak productivity depending on the size of the service. While both the FFDH and FFDH + GA saw a gain of between 30% and 100% with the increase in productivity being greatest when the service contains fewer printers.
In addition, the application of FFDH and FFDH + GA over a FCFS or OLCQ strategy enables a 3D MPS of equivalent sizes to operate at a peak productivity at a higher number of submissions. This shows that 3D MPS could implement a scheduling strategy over increased capital expenditure in terms of more printers in order to meet user demand. The FFDH and FFDH + GA strategies also increase the range at which they achieve 90% of their peak productivity and thus, potentially increase the flexibility of 3D MPS to meet dynamically changing user demands.
Thus, the results from these simulations demonstrate that scale and scheduling strategies have a large influence on the overall productivity of a 3D MPS. However, these are the initial steps into a new context where decades of scheduling optimisation theory could be applied in order to further enhance the productivity of these services. This article sets a benchmark where new strategies can be compared and contrasted. The scope of potential future work in this area cannot be underestimated and three particular features are now discussed.
The first concerns the determination of the bounding box for an item to be printed. The FFDH and FFDH + GA strategies have both generated rectangular boxes based upon the maximum and minimum x, y co-ordinates within the part print code (Figure 16). However, as shown in Figure 16(a) compared to the borders produced in Figure 16(b), the part perimeter is not well represented by a rectangular bounding box. Therefore, a great deal of bed space may be underutilised.

Defining print borders for part geometry: (a) bed of parts and (b) rectangular borders and convex hulls of parts.
One potential improvement to this issue is through the use of convex hulls to describe the print geometry (Figure 16(b)). The difference in areas consumed by these two methods for describing the part print area is shown in Figure 17. It can be seen that although the area of many parts does not differ greatly, there are particular parts that would benefit greatly from being described through convex hulls. Using convex hull opens the avenue for a different range of packing optimisation algorithms that require greater computational resources to resolve and it would be interesting to investigate the benefits in productivity if a convex hull solution was employed.

Difference in area between rectangle border and convex hull of part.
The second feature considers the need to investigate these scheduling strategies in a real-world scenario to see their true impact on the productivity of a 3D MPS. This is the future direction of this research where the authors are looking at assessing the strategies proposed in this article within a real 3D MPS. The key aims of investigating the scheduling model in a real-world scenario will enable the evaluation of the assumptions made with the view to improve the set-up of simulations to better reflect the conditions of a real-world 3D MPS.
To achieve this, the authors are currently creating a software tool that can interface and control multiple 3D printers and in doing so, provide a single conduit for the submission of prints to the 3D MPS. Achieving this will enable the implementation of the scheduling techniques into a real-world 3D MPS where the potential enhancements to productivity can be assessed.
The third feature that could be explored is to expand the objective function to not only analyse the productivity of a 3D MPS but also to consider other factors of the facility such as minimising the cost incurred by the facility 26 and introducing manufacturing health monitoring to enable optimised maintenance cycles. Further work could look to include these aspects within a single model of a 3D MPS.
Conclusion
Sales of extrusion 3D printing continue to see a rapid growth. The step change in capability and increase in demand for 3D prints have given rise to 3D MPS, where queues of prints are being received from multiple users and sent to multiple printers. With this marked change in use compared to the more traditional hobbyist community, new challenges of verification, productivity and monitoring of the condition of 3D MPS have emerged.
This article has focused upon the productivity of 3D MPS and more specifically, investigating how scale and scheduling strategy impact productivity. This has been achieved through the modelling of four scheduling scenarios, the FCFS, OLCQ, FFDH bed optimisation and FFDH + GA for part re-orientation, and the use of a Monte-Carlo simulation.
The results from the study have been summarised in relation to scale as
Increasing scale increases the productivity of the 3D MPS no matter the scheduling strategy;
Diminishing returns in peak productivity as scale increases;
90% peak productivity can be achieved over a wider range of user demands.
And in relation to scheduling strategy as:
An increase in peak productivity of between 10% and 60% for OLCQ over FCFS is achieved;
An increase in peak productivity of between 30% and 100% for FFDH and FFDH + GA over FCFS is achieved;
FFDH and FFDH + GA enable a managed print service of a fixed scale to handle increased user demand and 90% peak productivity can be achieved over a wider range of user demands;
FFDH + GA increases productivity for small-scale managed print service at low user demand when compared to FFDH.
It has been shown theoretically that the scale and scheduling strategy have a significant effect on the productivity of a 3D MPS and improvements in the productivity and ability to meet higher user demand can be achieved through solely applying an alternative scheduling techniques rather than further capital investment. The results presented in this article form the initial baseline from which future scheduling research in the context of 3D MPS can be compared and contrasted.
Footnotes
Appendix 1
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: The work reported in this paper has been undertaken as part of the Language of Collaborative Manufacturing Project at the University of Bath & University of Bristol, which is funded by the Engineering and Physical Sciences Research Council (EPSRC), Grant reference EP/K014196/2.
