Multi-batch auctions with uniform clearing prices is a fun problem, I recently started looking at it again. I was somewhat shocked to see the approach that was taken in the paper, I basically started my design with the “extensions” in place. your 5th constraint regarding arbitrage, i’d assume one would get for free. I also have a bunch of other constraints you folks don’t have that I think makes the problem a lot easier to solve:
- A single order can’t cross the previous clearing price.
- I don’t have a reference token.
- There is no difference between Buy and Sell.
- I picked “fairness” over volume.
- I constrain the amount of volume that can be traded per auction.
I don’t read math notation as well as I read code, so maybe I’m missing this but you can solve the problem incrementally. by that I mean, we don’t need solve for all rings at once.
There are a bunch of other things I did that result in a dramatically more simplified plasma construction as well.