1.缩进问题: ’‘’字符串‘’‘也要和函数运行代码缩进格式保持一致 2.cvxpy(线性规划问题的使用) 来自pycharm给出的解释: 混合整数程序 在混合整数程序中,某些变量被限制为布尔值(即 0 或 1)或整数值。您可以通过创建具有只有布尔值或整数值条目的属性的变量来构造混合整数程序:
Creates a 10-vector constrained to have boolean valued entries.
x = cp.Variable(10, boolean=True)
expr1 must be boolean valued.
constr1 = (expr1 == x)
Creates a 5 by 7 matrix constrained to have integer valued entries.
Z = cp.Variable((5, 7), integer=True)
expr2 must be integer valued.
constr2 = (expr2 == Z) CVXPY 为许多混合整数求解器提供接口,包括开源和商业求解器。出于许可原因,CVXPY 默认不安装任何首选求解器。
CVXPY 中首选的开源混合整数求解器是GLPK_MI、CBC和SCIP。CVXOPT python 包为 CVXPY 提供了对 GLPK_MI 的访问;可以通过在命令行或终端中运行 pip install cvxopt`来安装 CVXOPT。SCIP 支持非线性模型,但 GLPK_MI 和 CBC 不支持。
CVXPY 默认带有 ECOS_BB——一个开源混合整数非线性求解器。但是 ECOS_BB 不会被自动调用;prob.solve(solver=‘ECOS_BB’) 如果您想使用它,您必须显式调用(在 CVXPY 1.1.6 中更改)。该政策源于 ECOS_BB 反复出现正确性问题这一事实。如果您在某些应用程序中依赖此求解器,那么您需要意识到使用它会增加风险。如果您需要使用来自 CVXPY 的开源混合整数非线性求解器,那么我们建议您安装 SCIP。
如果您需要快速求解大型混合整数问题,或者如果您有一个对 SCIP 具有挑战性的非线性混合整数模型,那么您将需要使用商业求解器,例如CPLEX、 GUROBI、XPRESS或MOSEK. 商业求解器需要许可证才能运行。CPLEX、GUROBI 和 MOSEK 为学术界人士(学生和教职员工)提供免费许可证,并向学术界以外的人士提供试用版。CPLEX 免费版无论学术地位如何都免费提供,但它仍然需要在线注册,并且仅限于最多 1000 个变量和 1000 个约束的问题。XPRESS 有一个免费的社区版,不需要注册,但它仅限于变量计数和约束计数之和不超过 5000 的问题。 根据以上,装了CVXPY后还要装CVXOPT才可以使用GLPK_MI才可以进行整数线性规划 3.元组的使用:1.只读取元组2.将元组转换成列表 4.循环 for i in range(0,n): 5.python生成随机数
生成一个随机浮点数,范围[0.0, 1.0)
random.random()
生成1到100之间的随机整数,包括1和100
random.randint(1, 100) 6.使用if-elif-elif-else结构代替c语言中的switch函数 7.python中的逻辑运算符为and与or与not 8.list的增添位**.append(**) 9.for循环中设置循坏变量只能用整数型,要int(n) 10.列表元素的删除:1.知道标号,使用del删除2.pop()弹出末尾元素 11.numpy.array可使用 shape。list不能使用shape。可以使用np.array(list A)进行转换。 12.列表的复制(赋值和浅拷贝和深拷贝)查看该链接:https://blog.csdn.net/qq_35536102/article/details/105128199?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164905044616782184687021%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164905044616782184687021&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-105128199.142v5pc_search_result_cache,157v4new_style&utm_term=python%E5%88%97%E8%A1%A8%E4%B9%8B%E5%A4%8D%E5%88%B6%E4%B8%8E%E6%8B%B7%E8%B4%9D&spm=1018.2226.3001.4187 13.使用pip可以下载相关包,但是也要用pip更新pip以下载一些新的包 14.有时在使用source activate + 所要激活的东西时报出: ’source’ 不是内部或外部命令,也不是可运行的程序 或批处理文件 此时可以尝试: activate + 所要激活的东西(即删掉source) 15.python变量使用动态存储,整数0用24字节,1用28字节,远比c大得多 所以使用大量的变量需要注意内存容量 16.在其它python环境中使用pip C:\Users\陈福汪>python3.9 -m pip install matplotlib 17.time模块测试时间 18.在import matplot.pyplot后加上 pict.rcParams[‘font.sans-serif’]=[‘SimHei’] pict.rcParams[‘axes.unicode_minus’] = False 则横纵坐标可中文
|