规划问题课件.pdf 29页

  • 0
  • 0
  • 0
  • 约7.19千字
  • 2020-09-16 发布
文档工具:
    1. 1、本文档共29页,可阅读全部内容。
    2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
    3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
    4. 文档侵权举报电话:19940600175。
    非线性规 划 整数规划 线性规划 1 线性规划 1.1 scipy库求解 Ø 方法: from scipy import optimize import numpy as np #求解函数 res optimize.linprog (c,A,b,Aeq,beq,LB,UB,X0,OPTI ONS) #目标函数最小值 print (res.fun) #最优解 print (res.x) 1.1 scipy库求解 1.1 scipy库求解 #确定c,A,b,Aeq,beq c np .array ([2,3,-5]) A np .array ([[-2,5,-1],[1,3,1]]) B np .array ([-10,12]) Aeq np .array ([[1,1,1]]) Beq np .array ([7]) #求解 res optimize.linprog (-c,A,b,Aeq,beq) print (res) <续下页> 1.1 scipy库求解 Ø 结果: result: fun: -14.571428571428571 message: ’Optimization terminated successfully’ nit: 2 slack: array([3 0. ]) status: 0 success: True x: array([6 0 0. ]) Ø 解释: 仅关注首行和末行,fun为 目标函数最小值,x为最优解 Ø 注意:求解过程应当先转化为标准形式再根据结果解析 1.2 pulp库求解 1.2 pulp库求解 #约束 a [[1,4,2],[3,2,0]] b [8, 6] #确定最大化最小化问题,最大化只要把Min改成Max即可 m pulp .LpProblem (sense pulp .LpMinimize) #定义三个变量放到列表中 x [pulp .LpVariable (f’x{i}’, lowBound 0) for i in [1,2,3]] #定义 目标函数,lpDot可以将两个列表的对应位相乘再加和 #相当于z[0]*x [0]+z[1]*x [1]+z[2]*x [2] m + pulp .lpDot (z, x) <续下页> 1.2 pulp库求解 #设置约束条件 for i in range (len (a)): m + (pulp .lpDot (a [i], x) > b [i]) #求解 m .solve () #输出结果 print (f’优化结果:{pulp .value (m .objective)}’) print (f’参数取值:{[pulp .value (var) for var in x]}) Ø 结果: 优化结果:7.0 参数取值:[2.0, 0.0, 3.0] 1.3 运输问题 1.3 运输问题 Ø 样例3: 1.3 运输问题 Ø 代码 : import pulp import numpy as np from pprint import pprint def transportation_problem (costs, x_max, y_max): row len (costs) col len (costs[0]) prob pulp .LpProblem (‘Transportation Problem’, sense

    您可能关注的文档

    文档评论(0)

    • 内容提供方:Annie19961030
    • 审核时间:2020-09-16
    • 审核编号:6110013115002243

    相似文档