Much of our commerce and traveling depend on the efficient operation of large
scale networks. Some of those, such as electric power grids, transportation
systems, communication networks, and others, must maintain their efficiency
even after several failures, or malicious attacks. We outline a procedure that
modifies any given network to enhance its robustness, defined as the size of
its largest connected component after a succession of attacks, whilst keeping a
high efficiency, described in terms of the shortest paths among nodes. We also
show that this generated set of networks is very similar to networks optimized
for robustness in several aspects such as high assortativity and the presence
of an onion-like structure