How to create a rubber sheet with ball bearings causing indentations
Though I'm not completely sure I understand exactly what you're trying to illustrate, I believe I've found a solution with Animation Nodes. While Animation Nodes has a bit of a learning curve, it can help you produce very precise, procedural results. I think this will be a better solution than simulation. First, download and install the add-on in the link above.

Once the add-on is installed, create a new Animation Nodes tree in the Node Editor:



In Animation nodes, you can add nodes two ways. The first is with Shift + A, which brings up the normal menu. If you are unfamiliar with the nodes, they can be hard to find, so you can search for nodes with Ctrl + A. 

First, we need to make a plane to represent space. Add a Grid Mesh node. the $X$ and $Y$ divisions represent the number of vertices, not faces, so we'll need to add $1$ to the dimensions that we want. Let's do $25$ by $25$ units, and $101$ by $101$ divisions. We'll add an Integer node so we can set both Divisions at the same time:



In order to view the mesh we are creating, add a Combine Mesh Data node and a Mesh Object Output node:



Next, let's add the bearings. In the 3D View, add $3$ Empties. I chose the Single Arrow display type and set the Radius to $5$. In the N panel, lock the Z-axis location. Select the $3$ Empties and press Ctrl + G to group them. Name the group Bearings:



Add an Objects from Group node and select the Bearings group. Now, add an Object Controller Falloff node. Set the mix type to Add. Since the bearing's radius is $0.125$, set that as the Offset value. Experiment with the Width value to find something that depicts what you want. I chose $1$. Now, the most important part is the Interpolation. Since gravity has an inverse square falloff, my guess would be that you want the Quadratic option. You can visualize interpolations with the Interpolation Viewer node. You can also create a custom interpolation with the Curve Interpolation node:



To apply the falloff, add an Offset Vector node. Enable the list input, and plug in the Vertices list and the Falloff. Set the Z-value of the Offset to however deep you want the ball bearings to go. I chose $5$:



Result:



Now, let's add the upward curvature. We'll do that with two Directional Falloff and Interpolate Falloff nodes, a Mix Falloffs node, and another Offset Vector node, configured accordingly:



Now we have 3 "ball bearings" with a gentle upward curvature. You'll notice I made the upward curvature Quadratic, but that can, of course, be configured differently.



This is the bare minimum, but I want to go a little bit further. Let's draw a grid over the top, so that it renders cleaner. We can do this by creating Splines (curves) that follow certain edges. First, lets create a script to select edges. Add an Expression node, and plug in the Edge Indices list from the Grid Mesh node, the Integer node that sets the number of Divisions, and another Integer node. Name them according to the picture below. Use the gear icon to set the output type to Generic List. Paste in the following code:

[x[i*(n-1):(i+1)*(n-1)] for i in range(2*n) if ((i&lt;n) and i%o==0) or i==n or ((i&gt;n) and i%o==1)]




This code will isolate every o runs of edges in the grid, so this currently gets every $10$ edges of this $100$ by $100$ grid. To turn these into splines, we need to loop through every run and join them together. Add a Loop Input node and give it a Generic List iterator, a Vector List parameter, and a Spline List output.



Add a Convert node to change the Generic input to a Edge Indices List. Then add a Splines from Edges node and a Connect Splines node:



Add an Invoke Subprogam node and a Curve Object Output node, configuring settings as shown, and you should have a wireframe.





To make it look a little nicer, crank up the Divisions and adjust the Bevel Depth:



^^^ $501$ divisions, gridline every $10$, Bevel Depth of $0.4$

NodeTree:



Gif:



Rendered Result (two sets of overlay lines, thick lines every unit, and slim lines every $\frac{1}{4}$ unit):



With transparency:





Download the .blend (requires Animation Nodes):



(Plane divisions turned down to $400$ to fit on Blend-Exchange)