  Most models of complex systems have been homogeneous, i.e., all elements have
the same properties (spatial, temporal, structural, functional). However, most
natural systems are heterogeneous: few elements are more relevant, larger,
stronger, or faster than others. In homogeneous systems, criticality -- a
balance between change and stability, order and chaos -- is usually found for a
very narrow region in the parameter space, close to a phase transition. Using
random Boolean networks -- a general model of discrete dynamical systems -- we
show that heterogeneity -- in time, structure, and function -- can broaden
additively the parameter region where criticality is found. Moreover, parameter
regions where antifragility is found are also increased with heterogeneity.
However, maximum antifragility is found for particular parameters in
homogeneous networks. Our work suggests that the "optimal" balance between
homogeneity and heterogeneity is non-trivial, context-dependent, and in some
cases, dynamic.
