Given a matrix of weights, the linear order problem (LOP) consists of finding a permutation of the columns and rows in order to maximize the sum of the weights in the upper triangle. This paper introduces a modified discrete particle swarm optimization (PSO) which deals with LOP. It doesn't use exchange, crossover, mutation, insertion and deletion operators. But the positions of elements in solution permutation are stored in the particle instead of elements themselves. We only change our observation point of view and conceive the velocity as the shift in the position of elements. So the particle position is updated in much the same way as the canonical continuous PSO. Then the updated solution permutation was obtained by sorting the values of the updated position of elements. The proposed discrete PSO is also integrated with a greedy randomized adaptive search procedure (GRASP) and a local search scheme. Experiments on the linear order problem show that the proposed procedure provides extremely high quality solutions within a low number of evaluations. Ultimately, the proposed algorithm was able to improve 67 out of 75 best known solutions for instances of Random type I whereas for instances of Random type II, 26 out of the 75 best known solutions were improved.