Suppose the allocation of an auction (or a market) is defined by the solution of a linear program.
Then it is known that the associated clearing price is given by the dual variable associated to the offer-equals-demand constraint, see for example slide 19 of this course on electricity markets.
It is also known that when duality is not well defined (for example in the presence of non-convexities, such as in mixed integer programs), finding clearing prices might be difficult, as explained in O'neil et. al. Efficient market-clearing prices in markets with nonconvexities (2005).
I am sure there is a simple answer to my question but here it is: in an auction, why use the dual to find a clearing price instead of simply setting as a clearing price the highest accepted offer (that is the highest price amongst bids that receive a positive allocation)?