日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python求解不等式组_解线性方程组和线性不等式组

發布時間:2023/12/20 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python求解不等式组_解线性方程组和线性不等式组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

你的問題是線性規劃中的問題,你的等式和不等式是限制,你想最小化(然后最大化)表達式y。等式、不等式和表達式都是線性的,所以它是線性規劃。使用scipy函數的scipy包可以進行這種線性規劃。在

這里是注釋代碼,可以做你想做的。注意,所有的不等式都稍加修改以包含等式,這對于具有最大或最小值y是必要的。為了找到y的最大值,代碼轉而找到-y的最小值,然后打印該值的加法逆,因為{}最小化了目標函數。最后,不等式限制必須是linprog中的“小于或等于”,所以我將不等式x + y > 180的兩邊乘以-1得到一個,即-x + -y <= -180。問你有什么問題。在from scipy.optimize import linprog

# Set up values relating to both minimum and maximum values of y

coefficients_inequalities = [[-1, -1]] # require -1*x + -1*y <= -180

constants_inequalities = [-180]

coefficients_equalities = [[3, 12]] # require 3*x + 12*y = 1000

constants_equalities = [1000]

bounds_x = (30, 160) # require 30 <= x <= 160

bounds_y = (10, 60) # require 10 <= y <= 60

# Find and print the minimal value of y

coefficients_min_y = [0, 1] # minimize 0*x + 1*y

res = linprog(coefficients_min_y,

A_ub=coefficients_inequalities,

b_ub=constants_inequalities,

A_eq=coefficients_equalities,

b_eq=constants_equalities,

bounds=(bounds_x, bounds_y))

print('Minimum value of y =', res.fun)

# Find and print the maximal value of y = minimal value of -y

coefficients_max_y = [0, -1] # minimize 0*x + -1*y

res = linprog(coefficients_max_y,

A_ub=coefficients_inequalities,

b_ub=constants_inequalities,

A_eq=coefficients_equalities,

b_eq=constants_equalities,

bounds=(bounds_x, bounds_y))

print('Maximum value of y =', -res.fun) # opposite of value of -y

該代碼的打印輸出是

^{2}$

在浮點精度范圍內是正確的。如果您需要x的對應值,請參見res.x的值,它是一個數組,它在所需的點x和{}的值都是res.x[0],而{}是{}。在

總結

以上是生活随笔為你收集整理的python求解不等式组_解线性方程组和线性不等式组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。