数学建模--非整数规划求解的Python实现

这篇具有很好参考价值的文章主要介绍了数学建模--非整数规划求解的Python实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.算法流程简介

2.算法核心代码

3.算法效果展示

1.算法流程简介

#非线性规划模型求解:
#我们采用通用的minimize函数来求解
#minimize(f,x,method,bounds,contrains)
#f是待求函数
#x是代求的自变量
#method是求解方法
#bounds是取值范围边界
#contrains是约束条件
"""
#Question:
        min f=x1^2+x2^2+x3^2+8
        s.t.:
            x1^2-x2^2+x3^2>=0
            x1+x2^2+x3^2<=20
            -x1-x2^2+2=0
            x2+2x3^2=3
            x1,x2,x3>=0 
"""
#具体流程如下所示:
#1.设置待求函数和约束条件
#2.处理边界约束问题
#3.代入计算求解最优值

2.算法核心代码

#引用库和函数
import numpy as np
from scipy.optimize import minimize
from scipy import optimize as opt

#1.设置待求函数和约束条件
def cal_fun(x):
    return x[0]*x[0]+x[1]*x[1]+x[2]*x[2]+8
def cont1(x):
    return x[0] ** 2 - x[1] + x[2] ** 2#s.t.1
def cont2(x):
    return -(x[0] + x[1] ** 2 + x[2] ** 2 - 20)#s.t.2
def cont3(x):
	return -x[0] - x[1] ** 2 + 2#s.t.3
def cont4(x):
	return x[1] + 2 * x[2] ** 2 - 3#s.t.4

#2.处理边界约束问题
b=(0,None)
rbound=(b,b,b)

con1={'type':'ineq','fun':cont1}
con2={'type':'ineq','fun':cont2}
con3={'type':'eq','fun':cont3}
con4={'type':'eq','fun':cont4}
cons=([con1,con2,con3,con4])

#3.代入计算求解最优值
x=np.array([0,0,0])
ans=minimize(cal_fun,x,method='SLSQP',bounds=rbound,constraints=cons)
x_ans=ans.x
print("最优解:"+str(cal_fun(x_ans)))
print("最优解的方案是:x1="+str(x_ans[0]),"x2="+str(x_ans[1]))

3.算法效果展示

数学建模--非整数规划求解的Python实现,数学建模,数学建模,python文章来源地址https://www.toymoban.com/news/detail-694314.html

到了这里,关于数学建模--非整数规划求解的Python实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数学建模】Python+Gurobi求解非线性规划模型

    目录 1 概述 2 算例  2.1 算例 2.2 参数设置 2.3 Python代码实现 2.4 求解结果 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。 参考:(非线性规划Python)计及动态约束及节能减排环保要求的经济调度 2.1 算例 2.2 参数设置 求解NLP/非凸问题时,

    2024年02月09日
    浏览(47)
  • Matlab数学建模算法详解之混合整数线性规划 (MILP) 算法(附完整实现代码)

    🔗 运行环境:Matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥  推荐专栏:《算法研究》 ####  防伪水印—— 左手の明天 #### 💗 大家好🤗🤗🤗,我是 左手の明天 !好久不见💗 💗今天分享matlab数学建模算法—— 混合整数线性规划 (MILP) 算法 💗

    2024年02月04日
    浏览(51)
  • 数学建模之整数规划

    1 定义 数学规划中,变量部分或全部限制为整数,叫整数规划。 线性规划中,变量全是整数,叫整数线性规划。 2 分类 依据是否变量全为整数,分为完全整数规划和混合整数规划。 依据决策变量要求,分为纯整数,混合整数,全整数以及0-1规划。  注:1)松弛变量和剩余

    2024年02月12日
    浏览(49)
  • 数学建模(三)整数规划

    视频推荐:B站_数学建模老哥 目录 一、整数规划基本原理 1.1 整数规划的分类 1.2 整数规划的特点 1.3 案例 1.4  整数规划的数学模型一般形式 二、整数线性规划的求解方法 2.1 分枝定界法 2.1.1 分枝定界法的求解过程 2.1.2 案例 2.1.3 代码实现 2.2 割平面法 2.2.1 割平面法的基本思

    2024年02月12日
    浏览(41)
  • 数学建模——整数规划

    目录 基本概念 整数规划模型求解 整数线性规划模型求解 蒙特卡洛求解  遗传算法求解   其他 一部分或全部决策变量必须取整数值的规划问题称为 整数规划 。 纯整数规划:全部决策变量都为整数;混合整数规划:决策变量有一部分是整数值,另一部分不是整数;0-1整数规

    2024年02月07日
    浏览(51)
  • 数学建模——整数规划(0-1规划)问题

    题目:现拟将录用的8名公务员安排到所属的7个部门,并且要求每个部门至少安排一名公员。 x招聘领导小组在确定录用名单的过程中,本着公平、公开的原则,同时考虑录用人员的合理分配和使用,有利于发挥个人的特长和能力。招聘领导小组将7个用人单位的基本情况(包

    2023年04月17日
    浏览(40)
  • 二、数学建模之整数规划篇

    1.定义 2.例题 3.使用软件及解题 1.整数规划 (Integer Programming,简称IP):是一种数学优化问题,它是线性规划(Linear Programming,简称LP)的一个扩展形式。在线性规划中,优化目标和约束条件都是线性的,而在整数规划中,除了这些线性约束外,变量还被限制为整数值。在整

    2024年02月11日
    浏览(44)
  • 数学建模整理-线性规划、整数规划、非线性规划

    在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济 效益的问题。若目标函数及约束条件均为线性函数,则称为线性规划(Linear Programming 简记 LP)。 可行解 :满足约束条件的解。 可行预 :所有可行解构成的集合称为问题的可行域,记为R。 图解法

    2024年02月06日
    浏览(40)
  • 数学建模(四)整数规划—匈牙利算法

    目录 一、0-1型整数规划问题 1.1 案例 1.2 指派问题的标准形式 2.2 非标准形式的指派问题 二、指派问题的匈牙利解法  2.1 匈牙利解法的一般步骤 2.2 匈牙利解法的实例 2.3 代码实现 投资问题: 有600万元投资5个项目,收益如表,求利润最大的方案? 设置决策变量: 模型: 指派

    2024年02月11日
    浏览(42)
  • 数学建模--退火算法求解最值的Python实现

    目录 1.算法流程简介 2.算法核心代码 3.算法效果展示

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包