program
DownloadTélécharger
Actions
Vote :
ScreenshotAperçu
Informations
Catégorie :Category: nCreator TI-Nspire
Auteur Author: bghoster
Type : Classeur 3.0.1
Page(s) : 1
Taille Size: 1.91 Ko KB
Mis en ligne Uploaded: 29/09/2024 - 16:48:20
Mis à jour Updated: 29/09/2024 - 16:51:17
Uploadeur Uploader: bghoster (Profil)
Téléchargements Downloads: 1
Visibilité Visibility: Archive publique
Shortlink : http://ti-pla.net/a4228596
Type : Classeur 3.0.1
Page(s) : 1
Taille Size: 1.91 Ko KB
Mis en ligne Uploaded: 29/09/2024 - 16:48:20
Mis à jour Updated: 29/09/2024 - 16:51:17
Uploadeur Uploader: bghoster (Profil)
Téléchargements Downloads: 1
Visibilité Visibility: Archive publique
Shortlink : http://ti-pla.net/a4228596
Description
Fichier Nspire généré sur TI-Planet.org.
Compatible OS 3.0 et ultérieurs.
<<
def simplex(c, A, b): from itertools import combinations num_vars = len(c) num_constraints = len(A) all_basic_vars = list(combinations(range(num_constraints + num_vars), num_vars)) best_solution = None best_value = float('-inf') for basic_vars in all_basic_vars: try: # Create the matrix B and vector x_B based on the current basic variables B = [] for idx in basic_vars: if idx < num_constraints: B.append(A[idx]) else: temp_row = [0] * num_vars temp_row[idx - num_constraints] = 1 B.append(temp_row) B_inv = [[0] * len(B) for _ in range(len(B))] for i in range(len(B)): B_inv[i][i] = 1 for i in range(len(B)): for j in range(len(B)): if i != j: ratio = B[j][i] / B[i][i] for k in range(len(B)): B[j][k] -= ratio * B[i][k] B_inv[j][k] -= ratio * B_inv[i][k] divisor = B[i][i] for k in range(len(B)): B[i][k] /= divisor B_inv[i][k] /= divisor x_B = [0] * num_vars for i in range(num_vars): for j in range(num_constraints): x_B[i] += B_inv[i][j] * b[j] value = sum(c[i] * x_B[i] for i in range(num_vars)) if value > best_value: best_value = value best_solution = x_B except ZeroDivisionError: continue return best_solution, best_value solution, max_value = simplex(c, A, b) print("Optimal Solution:", solution) print("Maximum Value of Objective Function:", max_value) Made with nCreator - tiplanet.org
>>
Compatible OS 3.0 et ultérieurs.
<<
def simplex(c, A, b): from itertools import combinations num_vars = len(c) num_constraints = len(A) all_basic_vars = list(combinations(range(num_constraints + num_vars), num_vars)) best_solution = None best_value = float('-inf') for basic_vars in all_basic_vars: try: # Create the matrix B and vector x_B based on the current basic variables B = [] for idx in basic_vars: if idx < num_constraints: B.append(A[idx]) else: temp_row = [0] * num_vars temp_row[idx - num_constraints] = 1 B.append(temp_row) B_inv = [[0] * len(B) for _ in range(len(B))] for i in range(len(B)): B_inv[i][i] = 1 for i in range(len(B)): for j in range(len(B)): if i != j: ratio = B[j][i] / B[i][i] for k in range(len(B)): B[j][k] -= ratio * B[i][k] B_inv[j][k] -= ratio * B_inv[i][k] divisor = B[i][i] for k in range(len(B)): B[i][k] /= divisor B_inv[i][k] /= divisor x_B = [0] * num_vars for i in range(num_vars): for j in range(num_constraints): x_B[i] += B_inv[i][j] * b[j] value = sum(c[i] * x_B[i] for i in range(num_vars)) if value > best_value: best_value = value best_solution = x_B except ZeroDivisionError: continue return best_solution, best_value solution, max_value = simplex(c, A, b) print("Optimal Solution:", solution) print("Maximum Value of Objective Function:", max_value) Made with nCreator - tiplanet.org
>>