Giter Club home page Giter Club logo

rickcontreras / simplex Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 53 KB

Repositorio para la implementación del método Simplex utilizando Python. Incluye una interfaz gráfica de usuario (GUI) desarrollada con Tkinter y CustomTkinter, y herramientas para la visualización de datos con Matplotlib. Permite resolver problemas de programación lineal de manera interactiva.

Python 100.00%
customtkinter gui-application linear-programming matplotlib numpy optimization pandas python simplex-method tkinter

simplex's Introduction

📊 Aplicación de Programación Lineal con Método Simplex

Esta aplicación con interfaz gráfica permite resolver problemas de programación lineal utilizando el método Simplex. La interfaz facilita la entrada de datos, la visualización de resultados y la generación de gráficos.

🚀 Características

  • Implementación del método Simplex en Python.
  • Interfaz gráfica de usuario (GUI) con Tkinter y CustomTkinter.
  • Visualización de datos con Matplotlib.
  • Soporte para múltiples tipos de problemas de programación lineal.

📋 Requisitos

  • Python 3.x
  • Tkinter
  • CustomTkinter
  • Matplotlib
  • Pandas
  • Numpy

📥 Instalación

Sigue estos pasos para instalar y configurar el entorno del proyecto:

  1. Clona el repositorio:

    git clone https://github.com/RickContreras/simplex.git

    Esto descargará una copia del repositorio en tu máquina local.

  2. Navega al directorio del proyecto:

    cd simplex

    Cambia al directorio del proyecto recién clonado.

  3. Crea un entorno virtual:

    python3 -m venv venv

    Esto creará un entorno virtual aislado llamado venv.

  4. Activa el entorno virtual:

    • En Windows:
      .\venv\Scripts\activate
    • En macOS/Linux:
      source venv/bin/activate
  5. Instala las dependencias:

    pip install -r requirements.txt

    Esto instalará todas las dependencias necesarias listadas en el archivo requirements.txt.

  6. Verifica la instalación:

    python --version
    pip list

    Asegúrate de que Python y las bibliotecas necesarias estén correctamente instaladas.

  7. Ejecuta la aplicación:

    python main.py

    Esto iniciará la aplicación y abrirá la interfaz gráfica de usuario.

🖥️ Uso

  1. Activa el entorno virtual
    Asegúrate de que el entorno virtual esté activado utilizando el comando correspondiente a tu sistema operativo.

    • En Windows: .\venv\Scripts\activate
    • En macOS/Linux: source venv/bin/activate
  2. Inicia la aplicación
    Ejecuta el script principal:

    python main.py
  3. Interacción con la GUI
    Utiliza la interfaz gráfica para ingresar los datos del problema de programación lineal. La aplicación te permitirá definir restricciones, objetivos y variables.

  4. Visualiza los resultados
    La aplicación mostrará los resultados y las gráficas generadas para el problema resuelto.

📁 Estructura del Proyecto

  • main.py: Archivo principal que inicia la aplicación y contiene la configuración de la interfaz gráfica.

  • funciones_simplex.py: Contiene las funciones necesarias para la implementación del método Simplex.

  • requirements.txt: Lista de dependencias necesarias para ejecutar el proyecto.

🤝 Contribuciones

Las contribuciones son bienvenidas. Por favor, sigue estos pasos para contribuir:

  1. Haz un fork del repositorio.

  2. Crea una nueva rama:

     git checkout -b feature/nueva-caracteristica
  3. Realiza los cambios necesarios y haz commit:

git commit -m 'Agrega nueva característica'
  1. Sube los cambios a tu repositorio:
  git push origin feature/nueva-caracteristica
  1. Abre un Pull Request en el repositorio original.

👤 Autores

simplex's People

Contributors

galvanic90 avatar rickcontreras avatar

Watchers

Kostas Georgiou avatar  avatar

simplex's Issues

📢 Solicitud para Incluir Badges en el Proyecto

Descripción del Problema:

Actualmente, nuestro proyecto no tiene badges visibles en el README. Los badges proporcionan información rápida y visual sobre el estado del proyecto, versiones de dependencias, cobertura de pruebas, y más. Incluir estos badges mejorará la visibilidad del estado del proyecto y ofrecerá a los usuarios y colaboradores información clave de manera inmediata. 🚀

Propuesta:

Me gustaría proponer la adición de varios badges en el README para proporcionar una visión rápida y completa del estado del proyecto. Los badges recomendados incluyen:

  1. Estado del Build: Muestra si la última compilación del proyecto fue exitosa.

  2. Versión de Python: Indica la versión de Python requerida para el proyecto.

  3. Licencia: Muestra la licencia bajo la cual se distribuye el proyecto.

  4. Dependencias: Muestra el estado de las dependencias del proyecto y si hay actualizaciones disponibles.

  5. Cobertura de Pruebas: Muestra el porcentaje de cobertura de pruebas del código.

  6. Versiones del Proyecto: Muestra la versión actual del proyecto.

Pasos para Implementar:

  1. Seleccionar y agregar los badges:

    • Estado del Build: Configurar y agregar el badge del servicio de CI/CD que se utiliza.
    • Versión de Python: Utilizar Shields.io para crear un badge que indique la versión de Python.
    • Licencia: Utilizar Shields.io para mostrar la licencia del proyecto.
    • Dependencias: Configurar y agregar el badge de herramientas como Dependabot o pyup.
    • Cobertura de Pruebas: Configurar y agregar el badge de servicios de cobertura como Codecov o Coveralls.
    • Versiones del Proyecto: Utilizar Shields.io para mostrar la versión del proyecto.
  2. Actualizar el README.md:

    • Añadir los badges seleccionados en la parte superior del archivo README.md para visibilidad inmediata. 📝

Beneficios:

  • 📈 Visibilidad Rápida: Ofrece información clave del estado del proyecto de manera visual y accesible.
  • 🔍 Transparencia: Muestra el estado del build, versión de Python, licencia, y cobertura de pruebas, facilitando la comprensión del estado del proyecto.
  • 🔧 Mejora Continua: Facilita la monitorización de dependencias y la cobertura del proyecto, apoyando la mejora continua del código.

Archivos a Modificar:

  • Archivo: README.md

Notas Adicionales:

Si hay otros badges que se consideran útiles para el proyecto o si hay alguna preferencia en la selección de servicios, estoy abierto a sugerencias y ajustes. 🤝

📝 Solicitud para Incluir una Licencia en el Proyecto

Descripción del Problema:

Actualmente, nuestro proyecto no cuenta con un archivo de licencia, lo que podría causar incertidumbre sobre los derechos de uso y distribución del código. Incluir una licencia adecuada es crucial para proteger el trabajo y establecer las condiciones bajo las cuales otros pueden utilizar, modificar y distribuir el código. ⚖️

Propuesta:

Me gustaría proponer la inclusión de un archivo de licencia en el repositorio para clarificar los términos bajo los cuales se distribuye el código. La licencia sugerida es MIT License, que es una licencia permisiva ampliamente utilizada y aceptada en la comunidad de software de código abierto. 📜

Pasos para Implementar:

  1. Crear el archivo de licencia:
    • Nombre del archivo: LICENSE
    • Contenido: Texto completo de la MIT License
  2. Actualizar el README.md:
    • Añadir una sección para la licencia que haga referencia al nuevo archivo LICENSE. 📝

Beneficios:

  • 🔒 Claridad Legal: Asegura que los usuarios del proyecto comprendan los términos de uso y distribución.
  • 🛡️ Protección de Derechos: Establece claramente los derechos y responsabilidades tanto para el creador del proyecto como para los contribuyentes.
  • ✅ Cumplimiento de Normativas: Facilita el cumplimiento con las mejores prácticas y normativas de software de código abierto.

Archivo Propuesto:

  • Archivo: LICENSE
  • Licencia: MIT License

Notas Adicionales:

Si hay otras licencias que se considere más apropiadas, estaré encantado de discutir alternativas y ajustar la propuesta en consecuencia. 🤝

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.