Find the shortest bracket numbers Bracket numbers provide a simple way to express large integers using only left bracket, space, and right bracket ([ ]).
A bracket number is defined as a string of one or more pairs of matching brackets [...] called chunks, each separated from its neighbors by zero or more spaces.
The number of spaces between each chunk defines the hyperoperation between them. No spaces means addition, 1 space means multiplication, 2 spaces means exponentiation, 3 spaces means tetration, and so on. Higher order hyperoperations take precedence, so tetration occurs before exponentiation, exponentiation occurs before multiplication, etc. They are also right-associative, so a^b^c is computed as a^(b^c). (But a^b*c is still (a^b)*c.)
Each chunk may either be empty ([]) or contain another bracket number. Empty chunks have the value 0.  Non-empty chunks have the value of their contained bracket number plus 1.
Examples: (^^ is tetration, ^^^ is pentation)

[[]] has value 1 because it is 0 ([]) incremented by 1
[[[]]] has value 2 but so does [[]][[]] since the two ones ([[]]) are added
[[[]]] [[[[]]]  [[[[]]]]][[[]]] has value 20 = (2*((2^3)+1))+2
[[[]]]    [[[[]]]] has value 65536 = 2^^^3 = 2^^(2^^2) = 2^^4 == 2^(2^(2^2))
[[[[]]]]    [[[]]]    [[]] has value 7625597484987 = 3^^^(2^^^1) = 3^^^2 = 3^^3 = 3^(3^3)

In valid bracket numbers:

There will never be leading or trailing spaces.
There will always be at least one pair of matching brackets.
All left brackets will have a matching right bracket.
A space will never appear directly to the right of [ nor to the left of ].
The value is always a non-negative integer.

Challenge
Notice that there may be many forms for a bracket number that give the same value. [[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]] and [[[]]]   [[[[]]]] both represent 16, but the latter is much shorter.
Your challenge is to write an algorithm that attempts to find the shortest bracket number representation of a given value. For example, I believe the shortest way to represent 16 is with 17 characters as [[[]]]   [[[[]]]].
Scoring (Updated)
Let S be the set of integers from 1 to 256 (inclusive) as well as the following ten values:
8191 13071 524287 2147483647 1449565302 1746268229 126528612 778085967 1553783038 997599288

(The first 4 are Mersenne primes, the rest are random.)
The submission that generates the shortest set of bracket numbers for everything in S will win. Your score is the sum of the lengths of your bracket numbers for all values in S (smaller is better).
With your code please submit a list of your bracket numbers for all of S, the exact order is not terribly important. e.g.:
1=[[]]
2=[[[]]]
3=[[[[]]]]
...
2147483647=[...]
...

(I know this is not the optimal scoring method but I am not set up to run a bunch of random heuristic tests on each submission. Sorry :( )
Rules

You may not hardcode any bracket numbers besides the trivial incremental solutions ([], [[]], [[[]]], ...). Your program must actually be looking for optimally short representations. (Though the results may be suboptimal.)
Your algorithm should work for all non-negative integers below 2,147,483,648 (2^31). You may not specifically focus on the values in S.
For any particular input, your algorithm should run in at most 10 minutes on a decent modern computer (~2.5Ghz processor, ~6GB RAM).
In the (seemingly) rare chance of a tie the highest voted submission wins.
If you copy another solution or revise it without attribution you will be disqualified.
Mathematica

Note: This algorithm is never going to be able to get anywhere near the larger test numbers. I'd need a substantially different approach, so I'll just leave it as is for others to check their lower numbers against. You may consider this submission invalid.

Here is a start for the first 256 numbers (the others were added after I started, and I probably need to find a separate solution for those)

1=[[]]
2=[[[]]]
3=[[[[]]]]
4=[[[[[]]]]]
5=[[[[[[]]]]]]
6=[[[[[[[]]]]]]]
7=[[[[[[[[]]]]]]]]
8=[[[]]]  [[[[]]]]
9=[[[[]]]]  [[[]]]
10=[[[[[]]]]  [[[]]]]
11=[[[[[[]]]]  [[[]]]]]
12=[[[[[]]]]] [[[[]]]]
13=[[[[[[]]]]] [[[[]]]]]
14=[[[[[[[]]]]] [[[[]]]]]]
15=[[[[[[]]]]]] [[[[]]]]
16=[[[]]]   [[[[]]]]
17=[[[[]]]   [[[[]]]]]
18=[[[[[]]]   [[[[]]]]]]
19=[[[[[[]]]   [[[[]]]]]]]
20=[[[[[[]]]]]] [[[[[]]]]]
21=[[[[[[[]]]]]] [[[[[]]]]]]
22=[[[[[[[[]]]]]] [[[[[]]]]]]]
23=[[[[[[[[[]]]]]] [[[[[]]]]]]]]
24=[[[[[[[]]]]]]] [[[[[]]]]]
25=[[[[[[]]]]]]  [[[]]]
26=[[[[[[[]]]]]]  [[[]]]]
27=[[[[]]]]   [[[]]]
28=[[[[[]]]]   [[[]]]]
29=[[[[[[]]]]   [[[]]]]]
30=[[[[[[[]]]]   [[[]]]]]]
31=[[[[[[[[]]]]   [[[]]]]]]]
32=[[[]]]  [[[[[[]]]]]]
33=[[[[]]]  [[[[[[]]]]]]]
34=[[[[[]]]  [[[[[[]]]]]]]]
35=[[[[[[]]]  [[[[[[]]]]]]]]]
36=[[[[[[[]]]]]]]  [[[]]]
37=[[[[[[[[]]]]]]]  [[[]]]]
38=[[[[[[[[[]]]]]]]  [[[]]]]]
39=[[[[[[[[[[]]]]]]]  [[[]]]]]]
40=[[[]]]  [[[[]]]] [[[[[[]]]]]]
41=[[[[]]]  [[[[]]]] [[[[[[]]]]]]]
42=[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]
43=[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]]
44=[[[[[[]]]]  [[[]]]]] [[[[[]]]]]
45=[[[[]]]]  [[[]]] [[[[[[]]]]]]
46=[[[[[]]]]  [[[]]] [[[[[[]]]]]]]
47=[[[[[[]]]]  [[[]]] [[[[[[]]]]]]]]
48=[[[]]]   [[[[]]]] [[[[]]]]
49=[[[[[[[[]]]]]]]]  [[[]]]
50=[[[[[[[[[]]]]]]]]  [[[]]]]
51=[[[[[[[[[[]]]]]]]]  [[[]]]]]
52=[[[[[[[]]]]]]  [[[]]]] [[[]]]
53=[[[[[[[[]]]]]]  [[[]]]] [[[]]]]
54=[[[[]]]]   [[[]]] [[[]]]
55=[[[[[]]]]   [[[]]] [[[]]]]
56=[[[[[]]]]   [[[]]]] [[[]]]
57=[[[[[[]]]]   [[[]]]] [[[]]]]
58=[[[[[[]]]]   [[[]]]]] [[[]]]
59=[[[[[[[]]]]   [[[]]]]] [[[]]]]
60=[[[[[[[]]]]   [[[]]]]]] [[[]]]
61=[[[[[[[[]]]]   [[[]]]]]] [[[]]]]
62=[[[[[[[[]]]]   [[[]]]]]]] [[[]]]
63=[[[[]]]]  [[[]]] [[[[[[[[]]]]]]]]
64=[[[[[]]]]]  [[[[]]]]
65=[[[[[[]]]]]  [[[[]]]]]
66=[[[[[[[]]]]]  [[[[]]]]]]
67=[[[[[[[[]]]]]  [[[[]]]]]]]
68=[[[[[[[[[]]]]]  [[[[]]]]]]]]
69=[[[[[[[[[[]]]]]  [[[[]]]]]]]]]
70=[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]
71=[[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]]
72=[[[[[[[]]]]]]]  [[[]]] [[[]]]
73=[[[[[[[[]]]]]]]  [[[]]] [[[]]]]
74=[[[[[[[[]]]]]]]  [[[]]]] [[[]]]
75=[[[[[[]]]]]]  [[[]]] [[[[]]]]
76=[[[[[[[]]]]]]  [[[]]] [[[[]]]]]
77=[[[[[[[[]]]]]]  [[[]]] [[[[]]]]]]
78=[[[[[[[]]]]]]  [[[]]]] [[[[]]]]
79=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]]
80=[[[]]]   [[[[]]]] [[[[[[]]]]]]
81=[[[[]]]]  [[[[[]]]]]
82=[[[[[]]]]  [[[[[]]]]]]
83=[[[[[[]]]]  [[[[[]]]]]]]
84=[[[[[[[]]]]  [[[[[]]]]]]]]
85=[[[[[[[[]]]]  [[[[[]]]]]]]]]
86=[[[[[[[[[]]]]  [[[[[]]]]]]]]]]
87=[[[[[[]]]]   [[[]]]]] [[[[]]]]
88=[[[[[[[]]]]   [[[]]]]] [[[[]]]]]
89=[[[[[[[[]]]]   [[[]]]]] [[[[]]]]]]
90=[[[[[[[]]]]   [[[]]]]]] [[[[]]]]
91=[[[[[[[[]]]]   [[[]]]]]] [[[[]]]]]
92=[[[[[[[[[]]]]   [[[]]]]]] [[[[]]]]]]
93=[[[[[[[[]]]]   [[[]]]]]]] [[[[]]]]
94=[[[[[[[[[]]]]   [[[]]]]]]] [[[[]]]]]
95=[[[[[[]]]   [[[[]]]]]]] [[[[[[]]]]]]
96=[[[]]]  [[[[[[]]]]]] [[[[]]]]
97=[[[[]]]  [[[[[[]]]]]] [[[[]]]]]
98=[[[[[[[[]]]]]]]]  [[[]]] [[[]]]
99=[[[[]]]  [[[[[[]]]]]]] [[[[]]]]
100=[[[[[]]]]  [[[]]]]  [[[]]]
101=[[[[[[]]]]  [[[]]]]  [[[]]]]
102=[[[[[[[]]]]  [[[]]]]  [[[]]]]]
103=[[[[[[[[]]]]  [[[]]]]  [[[]]]]]]
104=[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]
105=[[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]]
106=[[[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]]]
107=[[[[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]]]]
108=[[[[]]]]   [[[]]] [[[[[]]]]]
109=[[[[[]]]]   [[[]]] [[[[[]]]]]]
110=[[[[[[]]]]   [[[]]] [[[[[]]]]]]]
111=[[[[[[[[]]]]]]]  [[[]]]] [[[[]]]]
112=[[[[[]]]]   [[[]]]] [[[[[]]]]]
113=[[[[[[]]]]   [[[]]]] [[[[[]]]]]]
114=[[[[[[[]]]]   [[[]]]] [[[[[]]]]]]]
115=[[[[[[[[]]]]   [[[]]]] [[[[[]]]]]]]]
116=[[[[[[]]]]   [[[]]]]] [[[[[]]]]]
117=[[[[[[[]]]]   [[[]]]]] [[[[[]]]]]]
118=[[[[[[[[]]]]   [[[]]]]] [[[[[]]]]]]]
119=[[[[]]]   [[[[]]]]] [[[[[[[[]]]]]]]]
120=[[[[[[[]]]]   [[[]]]]]] [[[[[]]]]]
121=[[[[[[]]]]  [[[]]]]]  [[[]]]
122=[[[[[[[]]]]  [[[]]]]]  [[[]]]]
123=[[[[[[[[]]]]  [[[]]]]]  [[[]]]]]
124=[[[[[[[[[]]]]  [[[]]]]]  [[[]]]]]]
125=[[[[[[]]]]]]  [[[[]]]]
126=[[[[[[[]]]]]]  [[[[]]]]]
127=[[[[[[[[]]]]]]  [[[[]]]]]]
128=[[[]]]  [[[[[[[[]]]]]]]]
129=[[[[]]]  [[[[[[[[]]]]]]]]]
130=[[[[[]]]  [[[[[[[[]]]]]]]]]]
131=[[[[[[]]]  [[[[[[[[]]]]]]]]]]]
132=[[[[[[[]]]]]  [[[[]]]]]] [[[]]]
133=[[[[[[[[]]]]]  [[[[]]]]]] [[[]]]]
134=[[[[[[[[]]]]]  [[[[]]]]]]] [[[]]]
135=[[[[]]]]   [[[]]] [[[[[[]]]]]]
136=[[[[[]]]]   [[[]]] [[[[[[]]]]]]]
137=[[[[[[]]]]   [[[]]] [[[[[[]]]]]]]]
138=[[[[[[[]]]]   [[[]]] [[[[[[]]]]]]]]]
139=[[[[[[[[]]]]   [[[]]] [[[[[[]]]]]]]]]]
140=[[[[[]]]]   [[[]]]] [[[[[[]]]]]]
141=[[[[[[]]]]   [[[]]]] [[[[[[]]]]]]]
142=[[[[[[[]]]]   [[[]]]] [[[[[[]]]]]]]]
143=[[[[[[[[]]]]   [[[]]]] [[[[[[]]]]]]]]]
144=[[[[[[[]]]]]]]  [[[]]] [[[[[]]]]]
145=[[[[[[]]]]   [[[]]]]] [[[[[[]]]]]]
146=[[[[[[[]]]]   [[[]]]]] [[[[[[]]]]]]]
147=[[[[[[[[]]]]]]]]  [[[]]] [[[[]]]]
148=[[[[[[[[[]]]]]]]]  [[[]]] [[[[]]]]]
149=[[[[[[[[[[]]]]]]]]  [[[]]] [[[[]]]]]]
150=[[[[[[]]]]]]  [[[]]] [[[[[[[]]]]]]]
151=[[[[[[[]]]]]]  [[[]]] [[[[[[[]]]]]]]]
152=[[[[[[[[[]]]]]]]  [[[]]]]] [[[[[]]]]]
153=[[[[]]]   [[[[]]]]] [[[[]]]]  [[[]]]
154=[[[[[]]]   [[[[]]]]] [[[[]]]]  [[[]]]]
155=[[[[[[[[]]]]   [[[]]]]]]] [[[[[[]]]]]]
156=[[[[[[[]]]]]]  [[[]]]] [[[[[[[]]]]]]]
157=[[[[[[[[]]]]]]  [[[]]]] [[[[[[[]]]]]]]]
158=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]] [[[]]]
159=[[[[[[[[]]]]]]  [[[]]]] [[[]]]] [[[[]]]]
160=[[[]]]  [[[[[[]]]]]] [[[[[[]]]]]]
161=[[[[]]]  [[[[[[]]]]]] [[[[[[]]]]]]]
162=[[[[]]]]  [[[[[]]]]] [[[]]]
163=[[[[[]]]]  [[[[[]]]]] [[[]]]]
164=[[[[[]]]]  [[[[[]]]]]] [[[]]]
165=[[[[[[]]]]  [[[[[]]]]]] [[[]]]]
166=[[[[[[]]]]  [[[[[]]]]]]] [[[]]]
167=[[[[[[[]]]]  [[[[[]]]]]]] [[[]]]]
168=[[[[[[[]]]]  [[[[[]]]]]]]] [[[]]]
169=[[[[[[]]]]] [[[[]]]]]  [[[]]]
170=[[[[[[[]]]]] [[[[]]]]]  [[[]]]]
171=[[[[[[[[]]]]] [[[[]]]]]  [[[]]]]]
172=[[[[[[[[[]]]]] [[[[]]]]]  [[[]]]]]]
173=[[[[[[[[[[]]]]] [[[[]]]]]  [[[]]]]]]]
174=[[[[[[]]]]   [[[]]]]] [[[[[[[]]]]]]]
175=[[[[[[]]]]]]  [[[]]] [[[[[[[[]]]]]]]]
176=[[[]]]   [[[[]]]] [[[[[[]]]]  [[[]]]]]
177=[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[]]]]
178=[[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[]]]]]
179=[[[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[]]]]]]
180=[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]
181=[[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]]
182=[[[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]]]
183=[[[[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]]]]
184=[[[[[]]]]  [[[]]] [[[[[[]]]]]]] [[[[[]]]]]
185=[[[[[[[[]]]]]]]  [[[]]]] [[[[[[]]]]]]
186=[[[[[[[[[]]]]]]]  [[[]]]] [[[[[[]]]]]]]
187=[[[[]]]   [[[[]]]]] [[[[[[]]]]  [[[]]]]]
188=[[[[[]]]   [[[[]]]]] [[[[[[]]]]  [[[]]]]]]
189=[[[[]]]]   [[[]]] [[[[[[[[]]]]]]]]
190=[[[[[]]]]   [[[]]] [[[[[[[[]]]]]]]]]
191=[[[[[[]]]]   [[[]]] [[[[[[[[]]]]]]]]]]
192=[[[[[]]]]]  [[[[]]]] [[[[]]]]
193=[[[[[[]]]]]  [[[[]]]] [[[[]]]]]
194=[[[[[[[]]]]]  [[[[]]]] [[[[]]]]]]
195=[[[[[[]]]]]  [[[[]]]]] [[[[]]]]
196=[[[[[[[]]]]] [[[[]]]]]]  [[[]]]
197=[[[[[[[[]]]]] [[[[]]]]]]  [[[]]]]
198=[[[[[[[]]]]]  [[[[]]]]]] [[[[]]]]
199=[[[[[[[[]]]]]  [[[[]]]]]] [[[[]]]]]
200=[[[[[]]]]  [[[]]]]  [[[]]] [[[]]]
201=[[[[[[]]]]  [[[]]]]  [[[]]] [[[]]]]
202=[[[[[[]]]]  [[[]]]]  [[[]]]] [[[]]]
203=[[[[[[[]]]]  [[[]]]]  [[[]]]] [[[]]]]
204=[[[[[[[[[]]]]]  [[[[]]]]]]]] [[[[]]]]
205=[[[[[[[[[[]]]]]  [[[[]]]]]]]] [[[[]]]]]
206=[[[[[[[[]]]]  [[[]]]]  [[[]]]]]] [[[]]]
207=[[[[[[[[[[]]]]]  [[[[]]]]]]]]] [[[[]]]]
208=[[[]]]   [[[[]]]] [[[[[[]]]]] [[[[]]]]]
209=[[[[]]]   [[[[]]]] [[[[[[]]]]] [[[[]]]]]]
210=[[[[[[[]]]]   [[[]]]]]] [[[[[[[[]]]]]]]]
211=[[[[[[[[]]]]   [[[]]]]]] [[[[[[[[]]]]]]]]]
212=[[[[[[[[]]]]]]  [[[]]]] [[[]]]] [[[[[]]]]]
213=[[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]] [[[[]]]]
214=[[[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]] [[[[]]]]]
215=[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[]]]]]]
216=[[[[[[[]]]]]]]  [[[[]]]]
217=[[[[[[[[]]]]]]]  [[[[]]]]]
218=[[[[[[[[[]]]]]]]  [[[[]]]]]]
219=[[[[[[[[[[]]]]]]]  [[[[]]]]]]]
220=[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]
221=[[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]]
222=[[[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]]]
223=[[[[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]]]]
224=[[[[[]]]]   [[[]]]] [[[]]]  [[[[]]]]
225=[[[[[[]]]]]]  [[[]]] [[[[]]]]  [[[]]]
226=[[[[[[[]]]]]]  [[[]]] [[[[]]]]  [[[]]]]
227=[[[[[[[[]]]]]]  [[[]]] [[[[]]]]  [[[]]]]]
228=[[[[[[]]]]   [[[]]]] [[[]]]] [[[[[]]]]]
229=[[[[[[[]]]]   [[[]]]] [[[]]]] [[[[[]]]]]]
230=[[[[[[[[]]]]   [[[]]]] [[[]]]] [[[[[]]]]]]]
231=[[[[]]]  [[[[[[]]]]]]] [[[[[[[[]]]]]]]]
232=[[[[[[]]]]   [[[]]]]] [[[]]]  [[[[]]]]
233=[[[[[[[]]]]   [[[]]]]] [[[]]]  [[[[]]]]]
234=[[[[[[[]]]]]]  [[[]]]] [[[[]]]]  [[[]]]
235=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]  [[[]]]]
236=[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[[]]]]]
237=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]] [[[[]]]]
238=[[[[[]]]  [[[[[[]]]]]]]] [[[[[[[[]]]]]]]]
239=[[[[[[]]]  [[[[[[]]]]]]]] [[[[[[[[]]]]]]]]]
240=[[[]]]   [[[[]]]] [[[[[[]]]]]] [[[[]]]]
241=[[[[]]]   [[[[]]]] [[[[[[]]]]]] [[[[]]]]]
242=[[[[[[]]]]  [[[]]]]]  [[[]]] [[[]]]
243=[[[[]]]]  [[[[[[]]]]]]
244=[[[[[]]]]  [[[[[[]]]]]]]
245=[[[[[[]]]]  [[[[[[]]]]]]]]
246=[[[[[[[]]]]  [[[[[[]]]]]]]]]
247=[[[[[[[[]]]]  [[[[[[]]]]]]]]]]
248=[[[[[[[[[]]]]  [[[[[[]]]]]]]]]]]
249=[[[[[[]]]]  [[[[[]]]]]]] [[[[]]]]
250=[[[[[[]]]]]]  [[[[]]]] [[[]]]
251=[[[[[[[]]]]]]  [[[[]]]] [[[]]]]
252=[[[[[[[]]]]]]  [[[[]]]]] [[[]]]
253=[[[[[[[[]]]]]]  [[[[]]]]] [[[]]]]
254=[[[[[[[[]]]]]]  [[[[]]]]]] [[[]]]
255=[[[[[[[[[]]]]]]  [[[[]]]]]] [[[]]]]
256=[[[[[]]]]]   [[[]]]


The total length of the first 256 numbers is 7963 characters. I don't know if this is optimal.

Ignoring addition, the results for 8191 and 13071 were found in a few seconds and 524387 in a couple of minutes as

8191=[[[[[[[[]]]]]]  [[[[]]]]] [[[[[[]]]]]  [[[[]]]]]]
13071=[[[[[[[[]]]]]  [[[[]]]]]]  [[[]]]] [[[[]]]]
524387=[[[[[[[[]]]]]  [[[[]]]]] [[[[[]]]]]  [[[[]]]]] [[[[[[[]]]]]]  [[[[]]]]]]


at 164 characters together.

Here is the code:

ClearAll[repr, sl, i, j, op, re, frontop, rearop, lastop];
repr[n_] = "";
repr[0] = "[]";
(*Hard-code higher-order solutions*)
repr[65536] = "[[[]]]    [[[[]]]]";
repr[16] = "[[[]]]   [[[[]]]]";
repr[27] = "[[[[]]]]   [[[]]]";
repr[256] = "[[[[[]]]]]   [[[]]]";
repr[3125] = "[[[[[[]]]]]]   [[[]]]";
repr[46656] = "[[[[[[[]]]]]]]   [[[]]]";
repr[823543] = "[[[[[[[[]]]]]]]]   [[[]]]";
repr[16777216] = "[[[[[[[[[]]]]]]]]]   [[[]]]";
repr[387420489] = "[[[[[[[[[[]]]]]]]]]]   [[[]]]";
frontop[n_] = 2;
rearop[n_] = 2;
sl[n_] := If[repr[n] == "", Infinity, StringLength@repr@n];
n = 256;
op[0] := (# + #2) &amp;
op[1] := (#*#2) &amp;
op[2] := (#^#2) &amp;
re[0] := (repr@# &lt;&gt; repr@#2) &amp;
re[1] := (repr@# &lt;&gt; " " &lt;&gt; repr@#2) &amp;
re[2] := (repr@# &lt;&gt; "  " &lt;&gt; repr@#2) &amp;
For[i = 0, i &lt; n, ++i,
  If[sl[i + 1] &gt;= sl[i] + 2,
   repr[i + 1] = "[" &lt;&gt; repr[i] &lt;&gt; "]";
   frontop[i + 1] = 2; rearop[i + 1] = 2
   ];
  For[m = 0, m &lt; 3, ++m,
   If[rearop[i] &gt;= m,
    For[j = 1, j &lt;= i, ++j,
     If[frontop[j] &lt; m || (res = op[m][i, j]) &gt; n, Break[]];
     rep = re[m][i, j];
     If[sl[res] &gt; StringLength@rep ||
       sl[res] == StringLength@rep &amp;&amp; m &gt; frontop[res],
      repr[res] = rep;
      If[m == 2,
       frontop[res] = 2; rearop[res] = 1,
       frontop[res] = m;
       rearop[res] = m
       ]
      ]
     ]
    ];
   If[frontop[i] &gt;= m,
    For[j = 1, j &lt;= i, ++j,
     If[rearop[j] &lt; m || (res = op[m][j, i]) &gt; n, Break[]];
     rep = re[m][j, i];
     If[sl[res] &gt; StringLength@rep ||
       sl[res] == StringLength@rep &amp;&amp; m &gt; frontop[res],
      repr[res] = rep;
      If[m == 2,
       frontop[res] = 2; rearop[res] = 1,
       frontop[res] = m;
       rearop[res] = m
       ]
      ]
     ]
    ]
   ];
  ];


I used an exhaustive search up to exponentiation. There is no tetration or higher-order operations. I just tried the higher-order operations manually, and there's only a handful combinations which actually yield numbers below 231, so I just hardcoded those that work.

Edit: My previous solution didn't not bother about precedence, it just threw things together. Now I think my new code fixes that, but non of the first 256 numbers have changed, nor has 8191 (which was valid before, I checked)... and it's to late for me to tell right now if my code actually fixed it. I'll have another look tomorrow and also add an explanation, because now with the precedence checking it's a bit convoluted (hopefully it should reduce search time though).

Edit: Okay, there were some bugs as expected. I think I fixed it now, increasing the total length for 1 - 256 to 7963. I'm not sure this is optimal any longer, because it might be possible to find shorter solutions from suboptimal parts if they allow higher-order operations. An explanation will follow when I manage to clean up the code a bit.