Add optimize method
Improve optimize method
Add print method
Add documentations
Change documentation print parameters method