Complements and substitutes in the opttmal assignment problem