Personalized learning path considers both learner and resource attributes. The evolutionary algorithm approach usually forms the learning path generation problem into a problem that optimizes the matching degree of the learner and the generated learning path. The proposed work considers the learner attributes as ability level, learning objective, learning style, and expected learning time. The learning path attributes include difficulty level, covered concept, supported learning styles, required learning time, and prerequisites. A variable-length representation of the learning path is adopted based on floating numbers, which significantly reduces the encoding length and simplifies the learning path generating process. An improved differential evolution algorithm is applied to optimize the matching degree of learning path and learner. The quantitative experiments on different problem scales show the proposed system outperforms the binary-based representation approaches in scaling ability and outperforms the comparative algorithms in efficiency.