This should be simple enough to understand and easy to implement.
You have cities (which can be located at some x,y position and do not move around).
You have roads (link between nearby cities to form a non-directed mesh).
You have resources (probably three different types, let's say: Red, Green and Blue).
Cities have a maximum number of slots (100) for resource storage, and they start with an initial quota of equal amounts (e.g. 20R, 20G, 20B).
Each round select a random city, then select a random neighbour connected by a road.
The first city selects a parcel of recources on offer to trade with the other; the second city offers some different parcel in return; the first city either approves the deal or refuses. Also, the deal cannot go ahead if it violates storage limits (i.e. more than 100 resources landing in one city).
Cities can also consume, which requires one item of each resource, and increases the score for that player. Highest score at the end of the game wins.
Finally, cities have a production capability where they can convert any one unit of a particular resource into two units of a different resource. Each city can only handle one specific transformation, but over the whole map various transformations are possible. For example, City A may have the capability to transform 1R into 2B while City B can transform 1B into 2R, so between them they can produce any amount of R and B up to their available space limit, providing they trade effectively between each other.
That's basically the whole game. If the maps are randomly generated then some cities will have an advantage, but over many games that can average out. Possibly each player can have multiple cities, but I would argue for a separate AI instance for each city without means of communication. Cities know their own production capabilities, but they don't know what the other cities can do, but they could infer it from price.
The game lends itself easily to visualisation, and should be easy to gather statistics, etc. It makes a change in style from earlier game AI so no one will have stock code they can deploy. Also, you might get sponsorship from a bank... get some of your bailout money returned to you.