1

사용자 자동 그룹화를위한 최적화 알고리즘을 배우고 있습니다. 그러나, 나는이 알고리즘에 완전히 익숙하지 않고 관련 문헌을 검토하면서 그들에 대해 들었습니다. 달리 기사 중 하나에서 저자는 정수 프로그래밍을 사용하여 자신의 알고리즘을 기반으로 알고리즘을 구현했습니다 (이것은 IP에 대해 들었습니다).최적화 알고리즘 (예 : 유전자 또는 입자 군)을 구현하는 데 사용되는 혼합 정수 선형 프로그래밍입니다.

혼합 정수 선형 프로그래밍을 사용하여 유전체/입자 군 (또는 다른 최적화) 알고리즘을 구현해야하는지 궁금하거나 궁금한 점이 하나 있습니다. 마지막으로 사용자를 자동으로 그룹화하는 웹 기반 시스템을 구축해야합니다. 어떤 도움을 주셔서 감사합니다.

+1

Michalewicz와 Fogel이 작성한 "How to Solve It : Modern Hueristics"는 좋은 (비록 다소 날짜가 있지만) 개요입니다. IP와 휴리스틱 방법 (후자에 중점을 두어 설명)을 설명합니다. –

답변

4

나는 약간의 용어를 혼동하고 있다고 생각합니다. 이들은 모두 다른 최적화 기법입니다. MIP (Mixed Integer Programming) 표기법을 사용하여 문제를 분명히 나타낼 수 있지만 MIP 해석기 또는 GA (Generic Algorithm) 또는 PSO (Particle Swarm Optimization)로 해결할 수 있습니다.

정수 프로그래밍은 수학 프로그래밍이라는 전통적인 패러다임의 일부로, 다소 어려운 방정식 세트를 기반으로 문제를 모델링합니다. 선형 프로그래밍 (모든 변수가 연속적 임), 정수 프로그래밍, 혼합 정수 프로그래밍 (연속 및 이산 변수의 혼합), 비선형 프로그래밍 (일부 방정식은 선형이 아님)과 같은 여러 유형의 수학 프로그래밍 모델이 있습니다.

수학적 프로그래밍 모델은 모델에 따라 훌륭하고 견고하며, 이상적인 솔루션에서 얼마나 멀리 떨어져 있는지 말할 수 있습니다. 그러나이 모델들은 종종 많은 변수들로 인해 어려움을 겪습니다.

반면에 유전자 알고리즘과 PSO는 젊은 기술 분야에 속하며 메타 기술이라고도합니다. 이러한 기술은 종종 크고 복잡한 문제, 많은 실제 응용 프로그램에도 좋은 또는 적어도 합리적인 솔루션을 찾습니다.

수학적 모델과 메타 이론을 결합한 일부 하이브리드 알고리즘이 있으며이 경우 MIP와 GA를 모두 사용합니다./PSO. 어떤 접근 방식 (MIP, 메타 인공 지능 또는 하이브리드)이 매우 문제에 의존 하는지를 선택하면 더 잘 작동하는 것이 무엇인지 테스트해야합니다. 나는 객관적인 기능이 매우 복잡하고 신속하지만 빈약 한 해결책이 필요한 경우 초점을 솔루션의 정확성에두고 수학적 모델을 선호합니다. 나는 메타 이론을 선호합니다.

+0

답변 해 주셔서 대단히 감사합니다! MIP를 사용하고 있다면 문제에 따라 수학 모델과 목적 함수를 처음부터 제안해야합니다. 모델에 많은 매개 변수가 있고 사용자 수가 많으면이 방법을 사용하지 않는 것이 좋습니다. GA/PSO 알고리즘을 구현하고 목적 함수를 사용자 정의하려면 Solvers (IBM 또는 Microsoft)를 사용하거나 Python, MIP 등을 사용할 수 있습니다. 이 정보를 확인해 주시겠습니까? – renakre

+1

글쎄, 새로운 모델/목적 함수를 제안 할 필요가 없습니다 (예 : 학술 문헌에서) 문제에 맞는 모델을 찾았 으면 문제를 구현하고 해결 방법을 배우는 데 중점을 둡니다. 최상의 솔루션을 찾으십시오. MIP의 경우, IBM Cplex는 아마도 가장 좋은 솔버 (하지만 비싸다)이고 C/Java/Python 라이브러리가 있기 때문에 GA/PSO의 경우 Python, Matlab, C 또는 Java 라이브러리를 볼 수있다 (JMetal은 하나이다. 나는 알고있다) 또는 당신이 선호하는 언어로 자신 만의 GA/PSO를 작성할 수있다. 배우고 코드하는 것이 어렵지 않다. –

관련 문제