Optimal Design for Synchronization of Cooperative Systems: State Feedback, Observer and Output Feedback | Synapse