Spaces:
Runtime error
Runtime error
| def get_user_input(): | |
| """Gets the LP problem details from the user.""" | |
| # (Identical to the input function in the previous Dual Simplex example) | |
| print("Enter the Linear Programming Problem:") | |
| while True: | |
| obj_type = input("Is it a 'max' or 'min' problem? ").strip().lower() | |
| if obj_type in ['max', 'min']: | |
| break | |
| print("Invalid input. Please enter 'max' or 'min'.") | |
| c_str = input("Enter objective function coefficients (space-separated): ").strip() | |
| c = list(map(float, c_str.split())) | |
| num_vars = len(c) | |
| A = [] | |
| relations = [] | |
| b = [] | |
| i = 1 | |
| print(f"Enter constraints (one per line). There are {num_vars} variables (x1, x2,...).") | |
| print("Format: coeff1 coeff2 ... relation rhs (e.g., '3 1 >= 3')") | |
| print("Type 'done' when finished.") | |
| while True: | |
| line = input(f"Constraint {i}: ").strip() | |
| if line.lower() == 'done': | |
| if i == 1: | |
| print("Error: At least one constraint is required.") | |
| continue | |
| break | |
| parts = line.split() | |
| if len(parts) != num_vars + 2: | |
| print(f"Error: Expected {num_vars} coefficients, 1 relation, and 1 RHS value.") | |
| continue | |
| try: | |
| coeffs = list(map(float, parts[:num_vars])) | |
| relation = parts[num_vars] | |
| rhs = float(parts[num_vars + 1]) | |
| if relation not in ['<=', '>=', '=']: | |
| print("Error: Invalid relation symbol. Use '<=', '>=', or '='.") | |
| continue | |
| A.append(coeffs) | |
| relations.append(relation) | |
| b.append(rhs) | |
| i += 1 | |
| except ValueError: | |
| print("Error: Invalid number format for coefficients or RHS.") | |
| continue | |
| return obj_type, c, A, relations, b | |