User:Blankjul/sandbox

= Collaborative Optimization = Collaborative Optimization describes a procedure involving at least two stakeholders, a domain-specific and optimization expert, pursuing to solve an optimization problem interactively. Collaboration among different stakeholders in achieving a problem-solving task is increasingly recognized as a vital component of applied research today. For instance, in various research areas in engineering, economics, medicine, and society, optimization methods are used to find efficient solutions. Each collaborator cannot solve a problem most efficiently and meaningfully alone, but a systematic collaborative effort in utilizing each other's expert knowledge plays a critical and essential role. Even though collaborations are carried out in different manners and have different challenges, they often have analogous phases and activities. A blueprint for collaborative optimization inspired by the Porter's Generic Value Chain has recently been proposed <<<>>>. The concept schematizes to the most important phases and highlights vital aspects for a successful collaboration.The primary phases follow the SOLVeR acronym: Specification of the Problem, Optimization and Algorithm Design, Live Test, Verification of Method and Results, and Repetitions and Lessons Learned. For each phase, the domain and the optimization expert's roles and responsibilities differ and shall be discussed in detail. Furthermore, the phases are accompanied by supporting activities, such as project management, communication, interdisciplinarity and the type of collaboration. Both the primary, as well as supporting activities are essential to reach the goals.

Primary Activities: The SOLVeR Phases

 * Specification of the Problem ('S'): In the first phase, all collaborators shall get a clear understanding of the optimization method's overall goal. For the optimization expert, this often requires understanding the fundamentals of a foreign research field. Thus, the domain expert's responsibility is to communicate efficiently and to define domain-related terminology if necessary. The primary goal is not for all collaborators to understand every little detail but to grasp what the problem is about. Thus, abstraction should be made whenever possible. Moreover, possible requirements and meta-information about the problem should be discussed, for instance, the evaluation time of a single design or the type and number of variables to be considered.After the problem has been defined verbally, it shall be stated mathematically, defining the objective(s), constraints, and the underlying search space. With fundamental knowledge about the domain, the optimization expert will often take the lead for the mathematical problem formulation. Nevertheless, the domain expert's feedback is crucial to ensure the formulation fits the specifications and the domain expert's expectations. For instance, a target measure could be either incorporated into the problem formulation as a constraint or an objective. Whereas both options might be legitimate ways of considering this metric, domain knowledge can favor one or the other. The domain knowledge, together with the optimization expert's knowledge about each option's benefits and drawbacks in an optimization sense, demonstrates the benefits of a close collaboration from the beginning.


 * Optimization and Algorithm Design ('O'): After the problem has been defined mathematically, the design of a suitable algorithm shall be of most interest. The selection or design of an algorithm requires experience in optimization and can be rather challenging. Before starting with the algorithm's design, all problem-dependent information shall be analyzed. For instance, does the evaluation also provide information about the gradient? How many function evaluations are affordable? However, some characteristics can only be assumed and are not known beforehand. For example, a vital question to ask is the modality of the function's fitness landscape because it determines whether a local or global search might be appropriate.If there is an explicitly defined equality constraint, one of the variables can be replaced in terms of other variables -- a process that eliminates one variable, and also every modified solution will automatically satisfy the equality constraint. The use of such information to redefine an original problem requires collaboration between optimization and domain-specific experts at the start of the optimization process. A standard optimization algorithm can be modified to suit the supplied problem information. This can happen in modifying different operators of the algorithm. For example, the initial solution(s) can be repaired to satisfy certain constraints so that the search can begin from a good solution(s). The generative operations for creating new solutions can be motivated by the problem information so that new solutions satisfy the supplied problem information.The fact that the mathematical problem definition and the optimization method are directly linked to each other demonstrates the interdependence of the first two phases and the importance of collaboration. After completing phase two, an algorithm has been developed, possible bugs during development have been fixed, and source code or a binary file for running the method exists.
 * Live Test ('L'): In the third phase, the developed algorithm is run in a live environment to observe its performance on the real-world optimization problem. The testing phase is crucial to ensure that the algorithm's design is suitable for the original problem. This might require interfacing between different programming languages or setting up the computational resources to run the method in a live environment.The domain and optimization expert's responsibilities in this phase depend on the type of collaboration and agreements. On the one hand, the algorithm design might be driven by test problems with similar characteristics as the real-world optimization problem because of the lack of computational resources or software licenses on the algorithm developer's end or the industrial partner preferring not to make the problem accessible to the outside. On the other hand, the problem's evaluation function might be delivered to the optimization expert -- either open or closed source -- and be directly used during the algorithm's design. In some cases, the problem might have been only defined vaguely from the beginning on, and the developer needs to implement a representative live environment from scratch, for instance, by generating synthetic data with reasonable assumptions. The variety of live tests' realizations show that different collaboration types require a different amount of collaborative effort in this phase. However, no matter what type has been chosen, this phase's outcome is a method and results that have to be analyzed.
 * Verification of Method and Results ('Ve'): In the fourth phase, the goals and requirements defined initially need to be critically assessed and verified. The verification is based on the results obtained in the previous phase. Even though the verification procedure will vary from collaboration to collaboration, some tasks employed in practice are to analyze the algorithm's convergence over time and carefully inspecting the solutions being found. In some collaborations, the optimization is only performed once, and most attention is paid to the obtain solution(s) itself, and the method plays a minor role. The obtained solutions need to be closely examined and made sure that all requirements are satisfied. The examination often involves checking correctness, feasibility, and the visualization of solutions and results. If discrepancies have been observed, the mathematically defined problem might need to be refined or even entirely redefined, and a reiteration to phase one be necessary. Other collaborations might focus more on the method itself, primarily when the algorithm is run repetitively, for instance, daily or weekly. Then, a thorough test of the method, including possible boundary scenarios, is of importance. Moreover, for stochastic algorithms, not a single run's performance but a statistical analysis of a set of runs shall be done to address the underlying randomness and ensure the method's robustness. No matter where the priority of the collaboration lies, the verification is crucial to measure the overall success.
 * Repetition and Lesson Learned ('R'): As recommended for projects in general, the last phase consists of reflecting on the collaboration and critically assessing the progress made. Practitioners will agree that no projects on without any future work being done and possible new collaborations being initiated. Thus, drawing lessons learned to avoid possible pitfalls helps improve efficiency and productivity long-term.



Supporting Activities
Besides primary activities classified into phases, supporting activities are an essential part of collaborative optimization. The supporting activities accompany any of the primary phases and play a different role anytime during the collaboration.


 * Project Management: A project is characterized by a project schedule with a clearly defined beginning and end. Moreover, the project's outcome is typically defined by milestones and project goals, which should be achieved during or at the end of the project. In practice, goals can also be conflicting, for instance, in a university-industry research collaboration where the researchers prioritize a seminal publication. In contrast, the industry might want to keep the findings confidential to keep a competitor's advantage. Agreeing on the goals initially and keeping track of them is good advice in all collaborations. Moreover, project management includes all matters regarding funding more resources and workforce during the collaboration.
 * Communication: Efficient communication is essential on many levels. The collaboration is accompanied by communication throughout all phases. The availability of collaborators and the communication frequency can have a significant impact on the project's outcome. While some collaborators prefer frequent feedback, such as daily or weekly, others favor less frequent meetings, for instance, monthly or biannually. Besides the frequency of regular meetings, the collaboration should define several milestone meetings, consisting of at least a kick-off and final meeting. The type of communication often depends on the geographical distance between collaborators. A relatively small distance and convenient commute shall allow in-person meetings. Often, however, this is not the case, and mostly online meetings are scheduled. Modern technology that allows to turn on a webcam, share the screen, or even take over screen control can become handy to increase such meetings' productivity. Moreover, consistent e-mail correspondence and a hybrid style of in-person and online communication are often carried out in practice. Challenges in communication commonly occur through domain-specific terminology, which is not clear to all collaborators or even language barriers in international collaborations.
 * Interdisciplinarity: Many collaborations have their origin of a subject being of an interdisciplinary manner. Therefore, an expert for the involved disciplines significantly speed up the research process or make meaningful insights possible at all. In collaborative optimization, interdisciplinarity is given by the presence of optimization itself and one other discipline. For some projects, even multiple other disciplines might be involved with possible conflicting objectives. In the literature, such a situation related to optimization is also referred to as Multi-disciplinary Design Optimization (MDO). During the collaboration, especially during the initial problem specification phase, a fundamental understanding of each discipline is essential. Even only rudimentary knowledge helps develop an appreciation for each other's research fields and facilitate meaningful discussions.
 * Collaboration Type: The type of collaboration has a significant impact on each collaborator's responsibility. With the type of collaboration, we refer to aspects related to the involvement, type, and the number of collaborators. In a light collaboration, details of the optimization problem regarding complete problem formulation are available to the optimization experts, thereby not requiring much collaboration between the two expert groups. In a medium collaboration, besides the details of the problem formulation, further information is required either due to the complexity involved in the problem or due to the nature of the problem. Optimization experts must share intermediate results with domain-specific experts to get further information to improve the optimization method. In a strong collaboration, both groups must engage in more collaboration to solve the problem. This can happen if the objective and constraint

Other contexts
It is worth noting that the the term collaborative optimization has also been used for two other matters in the literature. First, to describe a specific decomposition technique to solve large-scale optimization problems in the context of cooperative coevolution. Second, in multi-disciplinary optimization as an automatic design process based on optimization algorithms allowing an easy interaction amongst teams from different disciplines. There, the term emphasizes the collaboration between disciplines whereas this articles focus on a more general definition describing the interaction of one or multiple disciplines with optimization experts.