目录

  • 一、问题
  • 二、拉格朗日手工求解
  • 三、拉格朗日编程求解

一、问题

二、拉格朗日手工求解

1、拉格朗日函数

2、偏导解变量


3、带入

三、拉格朗日编程求解

代码

# 导入包
from sympy import *
# 设置变量
x,y,z,k = symbols('x,y,z,k')
a,b,c=symbols('a,b,c')
f = 8*x*y*z
g = x**2/a**2+y**2/b**2+z**2/c**2-1
#构造拉格朗日函数
L=f+k*g
#求导
dx = diff(L, x)   # 对x求偏导
print("dx=",dx)
dy = diff(L,y)   #对y求偏导
print("dy=",dy)
dz = diff(L,z)   #对z求偏导
print("dz=",dz)
dk = diff(L,k)   #对k求偏导
print("dk=",dk)
dx= 8*y*z + 2*k*x/a**2
dy= 8*x*z + 2*k*y/b**2
dz= 8*x*y + 2*k*z/c**2
dk= -1 + z**2/c**2 + y**2/b**2 + x**2/a**2
#求出个变量解
m= solve([dx,dy,dz,dk],[x,y,z,k])
print(m)
#变量赋值
x=sqrt(3)*a/3
y=sqrt(3)*b/3
z=sqrt(3)*c/3
k=-4*sqrt(3)*a*b*c/3
#计算方程的值
f = 8*x*y*z
print("方程的最大值为:",f)

通过diff函数求解的偏导

通过solve函数求解变量

最终求解结果

拉格朗日方法求最优解相关推荐

  1. 数值优化(Numerical Optimization)学习系列-惩罚和增广拉格朗日方法(Augmented Lagrangian Methods)

    原文地址为: 数值优化(Numerical Optimization)学习系列-惩罚和增广拉格朗日方法(Augmented Lagrangian Methods) 概述 求解带约束的最优化问题,一类很 ...

  2. 为什么一些机器学习模型需要对数据进行归一化?——1)归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度...

    为什么一些机器学习模型需要对数据进行归一化? http://www.cnblogs.com/LBSer/p/4440590.html 机器学习模型被互联网行业广泛应用,如排序(参见:排序学习实践).推 ...

  3. 【运筹学】对偶理论 : 互补松弛定理应用 2 ( 互补松弛定理求最优解思路 ) ★★

    文章目录 一.原问题与对偶问题标准形式 二.互补松弛定理 三.已知原问题最优解求对偶问题最优解 四.互补松弛定理求最优解思路 一.原问题与对偶问题标准形式 原问题 P\rm PP : maxZ=CXs ...

  4. 用最速下降法求最优解

    题目:       已知 f(x) = (x1-1)2+5(x2-5)2+(x3-1)2+5(x4-5)2   ,用快速下降法.牛顿法或共轭梯度法求 minf(x) . 最速下降法代码: //最速下降 ...

  5. 图解法求最优解的例题_简单的线性规划求最优解

    教你如何做出最佳选择 --简单的线性规划求最优解 在线性约束条件下,求线性目标函数最值问题,称为"线性规划".目标函 数 ) , ( y x f z  取得最值时,变量 y x ...

  6. Matlab--蒙特卡洛方法求pi值

    Matlab--蒙特卡洛方法求pi值 蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论 ...

  7. KMP-两种方法求next数组

    文章目录 前言 最佳最快方法 原理 方法详述 分析和思考 其他的next数组 总结 最好理解记忆方法 原理 前缀字符串和后缀字符串 部分匹配值 next数组意义 方法详述 转化 思考 测试链接 前言 ...

  8. R语言:蒙特卡洛方法求积分

    蒙特卡洛方法(MC) 一.蒙特卡洛方法简介 二.利用蒙特卡罗方法计算圆周率 三.利用蒙特卡洛方法求定积分 例1 例2 例3 总结: 一.蒙特卡洛方法简介 蒙特卡洛方法得名于摩纳哥的蒙特卡洛赌场,是大数 ...

  9. 最优解matlab机械大作业,最速下降法求最优解西安电子科技大学matlab结课大作业...

    07112016.最速下降法求最优解 六. 结果评价 本次测试分别从两组不同的初始搜索位置,两组不同 a,b,c,d 值出发, 两两比较可得结论:测试用例 abcd 为某些特定值时,不同初始搜索位置可 ...

最新文章

  1. get the better of sb
  2. c++ 字典_python字典详解-超级完整版
  3. ajax请求php的过程,php如何实现ajax请求
  4. html多选框 jquery,jQuery Select多选
  5. cg word List2
  6. H5-geolocation学习
  7. 将本地已经存在的代码跟github上新建的仓库建立关联,解决“fatal: 'origin' does not appear to be a git repository...”
  8. java中socket学习_java的socket学习
  9. bat脚本 提取文件内容和复制文件
  10. React的消息订阅全过程
  11. Istio入坑指南(二) Istio的安装与简单的使用
  12. 如何选购便宜的SSL证书
  13. 【微分方程数值解】常微分方程(一)欧拉方法和改进欧拉方法(附python算例,封装类)
  14. 用matlab如何拟合曲线,用MATLAB怎么实现曲线拟合?
  15. 南柯服务器压力,从纳兰性德《木兰花》中看网络暴力和舆论压力带来的抑郁现象...
  16. “我数学太烂,但高考136分!”刷完上万道题后,我找到2个月多考58分的捷径…...
  17. 特征选择 - 逐步回归 (stepwise regression)
  18. 根据三角形的三条边长(长、中、短三条边),来判断三角形类型
  19. 递推最小二乘RLS推导
  20. Qt中父类向子类发送信号

热门文章

  1. 简单温习一下快速排序
  2. 图像处理------简单综合实例(大米计数)
  3. Ctrl c 复制html,一键复制粘贴(用热键代替Ctrl+X、Ctrl+C、Ctrl+V)
  4. 空气源热泵控制系统解决方案
  5. android – 多屏幕适配相关
  6. Entity Framework优缺点及使用方法总结
  7. 微服务系统设计(一) -- 如何拆分服务
  8. 键盘查询方式的c语言编程,求助大佬简单的单片机键盘c语言编程问题
  9. Python数据标准化处理
  10. 写一个判断素数的函数(isprime),在主函数输入一个正整数,输出是否是素数的信息。提示:int main(){int x=23; if (isprime(x)) print