Linear programming, transportation and assignment problems