I want to generate a network of random cells like the following picture:

The general idea is to generate some random points (x,y) as coordinate of a vertex and then randomly choose some of these points to connect them to achieve (almost) a random cellular network since there are two constraints:
- The length of edges is constant.
- Degree of each vertex is 3.
Thanks,
Update
I have been thinking about this problem for a while. Here's the conclusion:
By starting from a perfect honeycomb, we perform a series of random "neighbor switching" process:

By performing successive neighbor switching, we are able to build cells with different size.


ListDensityPlot[ ArrayFlatten[{{pts, RandomReal[1, {Length[pts], 1}]}}], InterpolationOrder -> 0, Mesh -> All]. Is this what you're looking for? – Szabolcs Feb 25 '14 at 15:05