The design of substitution boxes (S-boxes) used in block ciphers to resist linear, differential and algebraic cryptanalysis is a wide studied field in cryptography today. In this paper, we present a graph representation of S-boxes combined with optimization algorithms to produce cryptographically strong full cycle permutations. Furthermore, some results related to these permutations are analyzed from their graph representation.