## 7 Conclusions and Future Work  
In this paper, the previously introduced Cooperative Optimization Algorithm was generalized to be applicable to more application scenarios and to larger instances with hundreds of potential service station locations and thousands of users. New application scenarios include, in particular, those in which the fulfillment of a single demand depends on more than one suitably located service points as it is the case in station-based bike and care sharing. Results on artificial and real world inspired instances show how the solution quality improves as the amount of user feedback increases and that a near optimal solution is reached for most instances with a reasonably low amount of user interactions. To characterize the amount of user interaction performed by COA, we have established an upper bound on the maximum number of non-redundant user interactions and introduced the notion of user interaction levels. Solutions generated by COA feature optimality gaps of 1.45% on average at an interaction level of 50%. Furthermore, we could clearly observe that the matrix factorization-based surrogate model is able to learn preferences of individual users from users with similar interests. More specifically, we made use of an advanced matrix factorization model which takes into account that user data is not missing at random. In fact, users are always asked to rate the most suitable location of a scenario, if one exists. The experimental comparison indeed confirmed the benefits of this new model over the original one, especially when the interaction level is still low. Using the new matrix factorization model, COA is able to generate better solutions with fewer known user preferences than before. In addition, note that, while we achieve our best results with the matrix factorization-based surrogate model, the results also show that COA already works reasonable even without learning user preferences. However, there is still potential left for future improvements. In our COA implementation, the strategies by which scenarios for users are generated favor the selection of unrated locations that may be important for individual users but not necessarily fora global optimal solution. In order to quickly find a good solution by the optimization, it is important for our surrogate function to have higher accuracy for locations that have the potential to actually appear in a globally optimal solution. Otherwise, finding a near optimal solution requires a larger amount of user interactions as we have observed in our results on the Manhattan instances. In order to improve the scenario generation strategies, it seems natural to enrich the feedback component (FC) with knowledge not only from the evaluation component (EC) but also from the optimization component (OC). As the OC finds optimized solutions via a MILP, utilizing dual solution information, such as reduced costs or performing a sensitivity analysis, might be a promising direction. It would also be interesting to further improve the scalability of COA. While a time limit of ten minutes per MILP was still sufficient for solving our benchmark instances, the OC is the main bottleneck of COA w.r.t. computation times. On the one hand, one can resort to heuristic optimization approaches in the OC. On the other hand, hierarchical clustering and multilevel refinement strategies as applied in the context of planning a bike sharing system in Reference [2] appear promising. COA was applied for generating solutions to instances of the General Service Point Distribution Problem (GSPDP). While we have proven the GSPDP to be NP-hard, this problem is rather abstract and, from a practical perspective, still too simplistic. For a specific practical application, the problem formulation needs to be tailored appropriately. Diverse aspects, such as different configuration options of stations, capacities, or time-dependent aspects, may be needed to be considered.