Duality in set-valued optimization