Lanzhou Penning Trap (LPT) is now being developed for precise mass measurements in Institute of Modern Physics (IMP). Homogeneity of magnetic field in LPT was about 3 ppm when without active shimming, while the required value is less than 0.5 ppm. Linear programming algorithm was employed to design a 9-coil cylindrical shim set for main magnet in LPT. First, mesh on the cylinder and current paths are expressed by connectings between the grid nodes. Then current paths are calculated to compensate the high order components of magnet field through linear programming algorithm optimization. The resulting designs are relatively sparse and can be readily constructed. The method has good flexibility, which can uses current paths on any given surface to generate any order shim field and set allowable errors separately over different arbitrary regions of interest (ROI). Software simulation is used to evaluate the influence on field due to bend corners and limited current density for actual windings.