> Segwit corrects this incentive mismatch. 

Segwit only improves the ratio, but outputs are still cheaper than inputs even with segwit.

As [sr-gi mentioned in his answer][1], the Branch and Bound algorithm was recently merged to the Bitcoin Core master branch.

The Branch and Bound algorithm searches the complete combination space of a wallet's UTXO pool to find the input set that minimizes the "waste" of a transaction. Hereby, the cost of spending inputs is part of what constitutes the waste metric. This means for example that when other factors contributing to waste were equal, the algorithm would prefer an input with lower weight at higher fee rates.

Vice versa, if the user creates a transaction below the expected longterm fee rate, the selection algorithm would prefer heavier inputs.

  [1]: https://bitcoin.stackexchange.com/a/72866/5406