整数规划问题
O、概述
CPleX是一个神秘的求解器, 听说久了就想用, 但是直接用有些困难, 尤其入门困难. 对初学者来说Leapms是一个好的通道.
在Leapms内有一个cplex命令, 直接敲入cplex+回车就可以调用Cplex求解. 然而网上下载的Leapms没有这个功能.
但是这难不倒本尊, 因为leapms可以输出 lp 和 ms 文件, 这可是通用模型接口啊. 通过这个就行了呗.
什么?那里找Leapms? 百度呗。。。。。
一、让Leapms输出MPS文件
1、首先从别处复制一个求解旅行商问题问题的leapms模型, 用记事本存成TSP.leap文件(点下面的view code打开代码).
什么?这个模型怎么理解?看本博客其他文(https://www.cnblogs.com/leapms/p/10058798.html)
//The Traveling Salesman Problem min sum{i=1,...,n;j=1,...,n;i<>j}x[i][j]D[i][j] subject to sum{i=1,...,n;i<>j}x[i][j]=1 | j=2,...,n sum{j=1,...,n;i<>j}x[i][j]=1 | i=2,...,n u[1]=0 u[j]>=u[i]+1-n(1-x[i][j])|i=1,...,n;j=2,...,n;i<>j u[i]<=n-1|i=1,...,n where n is an integer Cd is a set D[i][j] is a number|i=1,...,n;j=1,...,n x[i][j] is a variable of binary|i=1,...,n;j=1,...,n;i<>j u[i] is a variable of nonnegative number|i=1,...,n data_relation n=_$(Cd)/2 D[i][j]=sqrt((Cd[2i-1]-Cd[2j-1])^2+(Cd[2i]-Cd[2j])^2) --> |i=1,...,n;j=1,...,n data //52个城市的坐标 Cd={ 565 575 25 185 345 750 945 685 845 655 880 660 25 230 525 1000 580 1175 650 1130 1605 620 1220 580 1465 200 1530 5 845 680 725 370 145 665 415 635 510 875 560 365 300 465 520 585 480 415 835 625 975 580 1215 245 1320 315 1250 400 660 180 410 250 420 555 575 665 1150 1160 700 580 685 595 685 610 770 610 795 645 720 635 760 650 475 960 95 260 875 920 700 500 555 815 830 485 1170 65 830 610 605 625 595 360 1340 725 1740 245 }