In the article, we consider undirected multiple graphs of any natural multiplicity k > 1. A multiple graph contains edges of three types: ordinary edges, multiple edges, and multiedges. Each edge of the last two types is a union of k linked edges, which connect 2 or (k + 1) vertices, correspondingly. The linked edges should be used simultaneously. If a vertex is incident to a multiple edge, then it can be incident to other multiple edges, and it can also be the common end of k linked edges of a multiedge. If a vertex is the common end of a multiedge, then it cannot be the common end of another multiedge. As for an ordinary graph, we can define the integer function of the length of an edge for a multiple graph and set the problem of the shortest path joining two vertices. Any multiple path is a union of k ordinary paths adjusted on the linked edges of all multiple and multiedge edges. In this article, the previously obtained algorithm for finding the shortest path in an arbitrary multiple graph is optimized. We show that the optimized algorithm is polynomial. Thus, the shortest path problem is polynomial for any multiple graph.