-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLab4_2.py
More file actions
40 lines (34 loc) · 866 Bytes
/
Lab4_2.py
File metadata and controls
40 lines (34 loc) · 866 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import scipy
# def pole(X):
# x1,x2=X
# return -x1*x2
#
# def obwod(X):
# return 2*(X[0]+X[1])-10
#
# X0=(1., 4.)
# ograniczenie=[{'type':'eq','fun':obwod}]
# wynik=scipy.optimize.minimize(pole,X0,constraints=ograniczenie)
# if wynik.success:
# x1,x2=wynik.x
# print("Długości boków to:",x1,"i",x2)
# else:
# print("Urzadzenie ma defekt")
def obj(X):
x1,x2,x3=X
return x1*x2*x3-300
def pow(X):
x1, x2, x3 = X
return 2*(x1*x2+x1*x3+x2*x3)
def pol(X):
x1,x2,x3=X
return x1*x2-50.0
X0=(1., 2., 3.)
# ograniczenie=[{'type':'eq','fun':obj}]
ograniczenie=[{'type':'eq','fun':obj},{'type':'ineq','fun':pol}]
wynik=scipy.optimize.minimize(pow,X0,method='SLSQP',constraints=ograniczenie)
if wynik.success:
x1,x2,x3=wynik.x
print("Długości boków to:",x1,",",x2,",",x3)
else:
print("Urzadzenie ma defekt")